Naar de inhoud

Exponentiële back-off

Exponentiële back-off vermenigvuldigt de wachttijd tussen nieuwe pogingen tot een ingestelde bovengrens.

Ook bekend alsExponential backoff
API's en datacontracten

Exponentiële back-off vergroot de wachttijd tussen nieuwe pogingen met een factor, meestal tot een bovengrens. Na een tijdelijke storing verstuurt de applicatie daardoor niet meteen dezelfde aanvraag opnieuw. Back-off is een intervalregel binnen een retrystrategie.

Wachttijd en stoppen apart vastleggen

Een fictief API-voorbeeld begint na een mislukte poging met één seconde wachten, verdubbelt het interval en begrenst het op vier seconden: 1 → 2 → 4 → 4 s. Dit zijn voorbeeldintervallen zonder jitter, geen aanbevolen bedrijfsinstellingen. Jitter voegt willekeurige variatie aan de werkelijke wachttijd toe, zodat veel clients niet tegelijk opnieuw proberen.

De bovengrens beëindigt de pogingen niet. Het maximale aantal pogingen, het totale tijdbudget en de toegestane fouten moeten apart worden vastgelegd. Langer wachten maakt een ongeldige aanvraag niet geldig; een handeling met mogelijke neveneffecten moet veilig herhaalbaar zijn.

Als de clientbibliotheek al opnieuw probeert, kan een extra lus in de applicatie het aantal aanroepen vermenigvuldigen. Het team moet daarom beide lagen samen bekijken.

Bronnen