Circuit Breaker

DevOps 🔴 Senior

Definition

Pattern de résilience qui coupe les appels vers un service défaillant après N échecs. Évite la cascade de pannes. États : closed, open, half-open.

Analogie

Un disjoncteur électrique : il coupe le courant automatiquement quand il détecte une surcharge pour protéger le reste.

Exemple de code

const breaker = new CircuitBreaker(callExternalAPI, {
  timeout: 3000,
  errorThresholdPercentage: 50,
  resetTimeout: 30000
});
breaker.fallback(() => cachedResponse);
const result = await breaker.fire(params);

Cas d'usage

Protéger un service des cascades de pannes quand un service downstream est instable.

Anti-pattern

Pas de circuit breaker : un service lent bloque toutes les requêtes en cascade.

Termes lies

#devops#resilience#interview