Circuit Breaker
Architecture 🟡 MidDéfinition
Détecte les défaillances et empêche l'application de tenter des opérations vouées a l'échec. Trois états : ferme, ouvert, semi-ouvert.
Analogie
Un disjoncteur électrique : il coupe le courant quand il détecte une surcharge pour protéger l'installation.
Exemple de code
class CircuitBreaker {
#failures = 0;
async call(fn) {
if (this.#failures > 5) throw new Error('Circuit open');
try { return await fn(); }
catch(e) { this.#failures++; throw e; }
}
}
Cas d'usage
Appels a des services externes instables pour éviter les cascades de pannes.
Anti-pattern
Termes liés
En entretien
Comment fonctionne un Circuit Breaker et pourquoi l'utiliser ?
Il détecte les défaillances d'un service externe et empêche l'application de tenter des opérations vouées à l'échec, avec trois états (fermé, ouvert, semi-ouvert). C'est comme un disjoncteur électrique qui coupe le courant en cas de surcharge pour protéger l'installation.
Que se passe-t-il si tu retries à l'infini sans circuit breaker ?
Le service défaillant est submergé par les tentatives, ce qui aggrave la panne au lieu de la contenir.
Fiche mise à jour le 2026-09-27