--- title: Circuit Breaker created: 2026-06-06 updated: 2026-06-06 type: concept tags: [architecture, tech, devops] confidence: medium contested: false sources: [] --- # ⚡ Circuit Breaker ## Définition Courte Pattern de **résilience** qui interrompt les appels vers un service en panne pour éviter la cascade d'échecs, en ouvrant un "circuit" (court-circuit) pendant un délai, puis en testant la récupération. ## Explication Détaillée **3 états** : - **Closed** (fermé) : appels normaux, monitoring des échecs. - **Open** (ouvert) : tous les appels échouent immédiatement, on laisse le service récupérer. - **Half-Open** (semi-ouvert) : on laisse passer quelques requêtes tests pour voir si le service est rétabli. **Pourquoi ?** Sans circuit breaker, un service en panne fait s'empiler des requêtes, épuiser les threads, et crasher le service appelant (effet domino). ## Cas d'Usage - Appels à des API externes peu fiables. - Communication entre microservices. - Protection des appels coûteux (LLM, base de données). ## Outils Liés - **Hystrix** (Netflix, historique, plus maintenu). - **Resilience4j** (Java moderne). - **Polly** (.NET). - **Istio** (service mesh avec circuit breaker intégré). ## Pages Liées - [[load-shedding]] - [[haute-disponibilite]] - [[message-queue]] - [[architecture-microservices]]