Circuit Breaker

Architecture 🟡 Mid

Dé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

Retry infini sans circuit breaker — le service défaillant est submerge.
#architecture#interview#resilience#microservices

En entretien

  1. 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.

  2. 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

← → au clavier pour passer d'une fiche à l'autre