Connection Pooling
DevOps 🟡 MidDefinition
Réutilisation d'un pool de connexions persistantes à la base de données au lieu d'en créer une nouvelle par requête. Réduit la latence et la charge.
Analogie
Un parking de vélos partagés : tu prends un vélo disponible et tu le rends après, pas besoin d'en acheter un à chaque trajet.
Exemple de code
const pool = new Pool({
host: 'db.example.com',
max: 20, // max connexions
idleTimeoutMillis: 30000
});
const result = await pool.query('SELECT ...');
Cas d'usage
Éviter d'ouvrir/fermer des milliers de connexions par seconde, source de latence et crash.
Anti-pattern
Pool trop grand : sature la base. Pool trop petit : requêtes en attente.