Circuit Breaker
Ein Circuit Breaker unterbricht Aufrufe an einen gestörten Dienst und lässt später begrenzte Probeaufrufe zu.
Ein Circuit Breaker schützt eine Anwendung davor, einen gestörten abhängigen Dienst immer weiter aufzurufen. Er wertet ausgewählte Fehler aus und entscheidet, ob weitere Aufrufe durchgelassen werden. Nach einer festgelegten Wartephase können begrenzte Probeaufrufe die Erholung prüfen.
Drei Zustände, unterschiedliche Freigaben
Im Zustand closed passieren Aufrufe normal. Bei open werden sie ohne Weiterleitung an den betroffenen Dienst abgewiesen. half-open lässt nur begrenzte Probeaufrufe zu; deren Ergebnis entscheidet über erneutes Öffnen oder die Rückkehr zum normalen Betrieb.
In einem fiktiven Kundenportal fällt der PDF-Berichtsdienst aus. Der geöffnete Circuit Breaker verhindert neue Aufrufe an diesen Dienst, und das Portal zeigt dessen vorübergehende Nichtverfügbarkeit. Er speichert damit noch keinen Berichtsauftrag in einer Warteschlange und repariert den Dienst nicht.
Das Team legt Fehlerarten, Auswertungsfenster, Schwelle, Wartephase und Ersatzverhalten fest. Ein Timeout begrenzt die Dauer eines einzelnen Aufrufs; ein Retry startet einen weiteren Versuch. Der Circuit Breaker entscheidet dagegen über dessen Weiterleitung. Diese Mechanismen können zusammenwirken, brauchen aber aufeinander abgestimmte Regeln.
Quellen
Verwandte Begriffe
- Retry-StrategieEine Retry-Strategie legt fest, bei welchen Fehlern, mit welchen Pausen und bis zu welcher Grenze erneut versucht wird.
- Exponentielles BackoffExponentielles Backoff vergrößert die Warteabstände zwischen Wiederholungsversuchen bis zu einer festgelegten Obergrenze.
- Server-Sent EventsServer-Sent Events übertragen über eine HTTP-Verbindung Textmeldungen vom Server zum Client, etwa zum Fortschritt eines Hintergrundauftrags.
- Entity TagEin ETag kennzeichnet eine bestimmte Darstellungsversion einer HTTP-Ressource und ermöglicht bedingte Abrufe oder Änderungen.
- Cross-Origin Resource SharingCORS steuert im Browser die Freigabe von Antworten über Origin-Grenzen. Es ersetzt weder die Anmeldung noch die Berechtigungsprüfung einer API.
- Electronic Data InterchangeEDI überträgt strukturierte Geschäftsdokumente zwischen Systemen. Format, Partnerprofil, Datenzuordnung und Rückmeldungen müssen zusammenpassen.
Ihr Vorhaben mit ASES
Beschreiben Sie uns Ihr Vorhaben. Wir melden uns mit einer ersten Einschätzung.