---
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]]
