Eksponentiell backoff
Eksponentiell backoff multipliserer ventetiden mellom nye forsøk opp til en fastsatt øvre grense.
Eksponentiell backoff øker ventetiden mellom nye forsøk med en faktor, vanligvis opp til en øvre grense. Etter en midlertidig feil sender applikasjonen derfor ikke straks den samme forespørselen igjen. Backoff er en intervallregel i en strategi for nye forsøk.
Fastsett ventetid og stoppregel hver for seg
Et fiktivt API-eksempel venter ett sekund etter et mislykket forsøk, dobler intervallet og begrenser det til fire sekunder: 1 → 2 → 4 → 4 s. Dette er illustrerende grunnintervaller uten jitter, ikke anbefalte driftsverdier. Jitter legger tilfeldig variasjon til den faktiske ventetiden slik at mange klienter ikke prøver igjen samtidig.
Den øvre grensen stopper ikke forsøkene. Maksimalt antall forsøk, samlet tidsbudsjett og aktuelle feil må fastsettes separat. En ugyldig forespørsel blir ikke gyldig av å vente; en handling med mulige sideeffekter må kunne gjentas trygt.
Hvis klientbiblioteket allerede prøver igjen, kan enda en løkke i applikasjonen mangedoble antallet kall. Teamet må derfor se begge lagene samlet.
Kilder
Beslektede begreper
- Strategi for nye forsøkStrategien angir hvilke feil som skal prøves igjen, med hvilke pauser og til hvilken grense.
- Jitter ved nye forsøkRetry-jitter varierer ventetider tilfeldig for å spre nye forsøk og redusere samtidige forespørsler fra mange klienter.
- IdempotensEn idempotent handling har samme tilsiktede effekt på tilstanden ved identisk gjentakelse som ved én utførelse.
- Server-Sent EventsServer-Sent Events sender tekstmeldinger fra server til klient via HTTP, for eksempel om fremdriften til en bakgrunnsjobb.
- ETagEn ETag identifiserer en bestemt representasjonsversjon av en HTTP-ressurs og støtter betingede oppslag eller endringer.
- Cross-Origin Resource SharingCORS styrer nettleserens tilgang til svar fra en annen origin. Det erstatter verken API-innlogging eller kontroll av rettigheter.
Ditt prosjekt med ASES
Beskriv prosjektet ditt for oss. Vi tar kontakt med en første vurdering.