Circuit Breaker
Disjoncteur
Un disjoncteur arrête les appels à un service distant susceptible d’échouer. Plus tard, quelques appels de test vérifient s’il s’est rétabli.
closed -> failure threshold -> open -> cool-down -> half-open probe -> closed | open10 secondesaucun appel à distanceclosed -> failure threshold -> open -> cool-down -> half-open probe -> closed | openSREUn autre exemple
Cinq échecs de paiement déclenchent l'interrupteur pendant 30 secondes. Le paiement échoue rapidement avec un message clair. Une sonde ultérieure réussit et le ferme.
Parties principales
- 01État fermé
- 02compteur d'échecs et fenêtre
- 03État ouvert
- 04Temps de récupération
- 05Sonde à moitié ouverte
- 06plan de secours et alerte
Utilisez-le lorsque
Utilisez-le autour d'une dépendance distante qui reste lente ou défaillante. Ajustez le seuil, le temps d'ouverture, le trafic de test, le remplacement et les alertes.
Ne l'utilisez pas lorsque
Ne l'utilisez pas pour les erreurs de validation locales. Il ne remplace pas les réessais. Le réessai gère les défauts temporaires ; un coupe-circuit bloque les échecs probables.
Nom utilisé dans le code
closed -> failure threshold -> open -> cool-down -> half-open probe -> closed | open Avant d'expédier
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Disjoncteur (Circuit Breaker). User context: Cinq échecs de paiement déclenchent l'interrupteur pendant 30 secondes. Le paiement échoue rapidement avec un message clair. Une sonde ultérieure réussit et le ferme. Technical concept or control: Disjoncteur (Circuit Breaker). Why it fits: Utilisez-le autour d'une dépendance distante qui reste lente ou défaillante. Ajustez le seuil, le temps d'ouverture, le trafic de test, le remplacement et les alertes. Do not use it when: Ne l'utilisez pas pour les erreurs de validation locales. Il ne remplace pas les réessais. Le réessai gère les défauts temporaires ; un coupe-circuit bloque les échecs probables. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Aucun standard officiel unique ne régit l’ensemble du terme. Sa signification peut varier selon les équipes, plateformes ou frameworks. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Vérifiez cette demande
Review how Disjoncteur (Circuit Breaker) is used now. Definition: Un disjoncteur arrête les appels à un service distant susceptible d’échouer. Plus tard, quelques appels de test vérifient s’il s’est rétabli. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.