Backoffstrategie
Backoff-Strategie bezeichnet in der Informatik ein Muster, bei dem nach einem Fehlschlag erst eine Wartezeit abläuft, bevor ein weiterer Versuch gestartet wird. Ziel ist es, Lastspitzen zu verhindern, Ressourcen zu schonen und die Wahrscheinlichkeit zu erhöhen, dass Folgeversuche erfolgreich sind, insbesondere in verteilten Systemen, Netzwerken und bei fehleranfälligen Diensten.
Typische Varianten der Backoff-Strategie umfassen:
- Konstante Backoff-Strategie: Nach jedem Fehler wird die gleiche Wartezeit verwendet.
- Lineare Backoff-Strategie: Die Wartezeit erhöht sich nach jedem Fehler um einen festen Betrag.
- Exponentielle Backoff-Strategie: Die Wartezeit wächst exponentiell an, oft mit einer Obergrenze.
- Binär(exponentielle) Backoff: Eine Variante der exponentiellen Strategie, bei der Multiplikatoren zwischen 1 und 2 genutzt werden.
Zusätzliche Maßnahmen, um thundering-herd-Effekte zu vermeiden, umfassen Jitter-Techniken:
- Voller Jitter (full jitter): Zufällige Verzögerung innerhalb des gesamten möglichen Intervalls.
- Gleichmäßiger Jitter (equal jitter) oder dekorrelierter Jitter: Verzögerungen verteilen sich statistisch besser, um gleichzeitig auftretende Retries
Anwendungsbereiche umfassen API-Retries, Netzwerkverbindungen, Nachrichten-Warteschlangen, Datenbank-Verbindungen und verteilte Systeme, in denen Knoten nicht synchron sondernd arbeiten.