Connection Pooling

DevOps 🟡 Mid

Definition

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.
#devops#database