Circuit Breaker und Backpressure
Kurz: Ein Circuit Breaker unterbricht Aufrufe an einen kaputten Dienst, damit er nicht noch stärker überlastet wird. Backpressure bremst Sender, wenn der Empfänger nicht mehr hinterherkommt.
Genauer: Wenn ein Dienst langsam oder defekt ist, stauen sich Anfragen und reißen Aufrufer mit (Kaskadenausfall). Der Circuit Breaker wechselt nach vielen Fehlern auf „offen“ und antwortet sofort mit einem Fehler oder Ersatzwert. Nach einer Wartezeit testet er vorsichtig („halb offen“).
Im Detail
- Zustände: Geschlossen (normal), offen (blockiert), halb offen (Probeaufrufe).
- Timeouts: Jeder Netzaufruf braucht eines.
- Retries mit Jitter: Wiederholungen mit wachsender, zufälliger Wartezeit, sonst entsteht ein Wiederholungssturm.
- Bulkhead: Ressourcen pro Aufrufer trennen, damit ein Verbraucher nicht alle blockiert.
- Backpressure: Begrenzte Warteschlangen, Ablehnen (Load Shedding), Reaktive Streams.
- Fallback: Gecachte oder Standardantwort.
Siehe auch: Idempotenz, SLI, SLO und Error Budget