Exponentielles Backoff
Exponentielles Backoff vergrößert die Warteabstände zwischen Wiederholungsversuchen bis zu einer festgelegten Obergrenze.
Exponentielles Backoff vergrößert die Wartezeit zwischen Wiederholungsversuchen um einen Faktor, meist bis zu einer Obergrenze. Nach einer vorübergehenden Störung muss eine Anwendung dadurch nicht sofort wieder dieselbe Anfrage senden. Backoff ist eine Abstandsregel innerhalb einer Retry-Strategie.
Warteabstand und Abbruch getrennt festlegen
Ein fiktives API-Beispiel beginnt nach einem fehlgeschlagenen Versuch mit einer Sekunde Wartezeit, verdoppelt den Abstand und begrenzt ihn auf vier Sekunden: 1 → 2 → 4 → 4 s. Das sind beispielhafte Grundabstände ohne Jitter, keine empfohlenen Betriebswerte. Jitter ergänzt eine zufällige Variation der tatsächlichen Wartezeit, damit viele Clients nicht gleichzeitig erneut anfragen.
Die Obergrenze beendet die Wiederholungen nicht. Anzahl der Versuche, gesamtes Zeitbudget und zulässige Fehler müssen zusätzlich feststehen. Ein ungültiger Auftrag wird durch längeres Warten nicht gültig; ein Auftrag mit möglicher Nebenwirkung muss sicher wiederholbar sein.
Wiederholt bereits die Clientbibliothek, kann eine weitere Schleife in der Anwendung die Zahl der Aufrufe vervielfachen. Das Team muss deshalb beide Ebenen zusammen betrachten.
Quellen
Verwandte Begriffe
- Retry-StrategieEine Retry-Strategie legt fest, bei welchen Fehlern, mit welchen Pausen und bis zu welcher Grenze erneut versucht wird.
- Retry-JitterRetry-Jitter verteilt Wiederholungsversuche durch zufällig variierte Wartezeiten, damit viele Clients nicht gleichzeitig erneut anfragen.
- IdempotenzEine idempotente Operation hat bei identischer Wiederholung dieselbe beabsichtigte Wirkung auf den Zustand wie beim ersten Mal.
- 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.
Ihr Vorhaben mit ASES
Beschreiben Sie uns Ihr Vorhaben. Wir melden uns mit einer ersten Einschätzung.