Gå til innholdet

Jitter ved nye forsøk

Retry-jitter varierer ventetider tilfeldig for å spre nye forsøk og redusere samtidige forespørsler fra mange klienter.

Også kjent somRetry jitter
API-er og integrasjon

Retry-jitter innfører tilfeldighet i ventetiden før et nytt kall. Det sprer forsøkene fra flere klienter over tid. Det er særlig nyttig når mange klienter oppdager den samme feilen samtidig: En like lang pause kan bare flytte den neste belastningstoppen.

Tre klienter, ulike pauser

I et fiktivt eksempel kan tre klienter hver velge en tilfeldig ventetid innenfor et vindu på 0–2 s før neste forsøk. De venter for eksempel 0.4 s, 1.1 s og 1.7 s. Verdiene viser spredningen; de er ingen anbefalt konfigurasjon. Forsøk kan fortsatt falle sammen med jitter.

Strategien for nye forsøk avgjør fortsatt hvilke feil som gir grunn til et nytt forsøk, hvor mange forsøk som tillates, og når den samlede tidsgrensen er nådd. Målsystemets anvisninger om ventetider må følges. Ved eksponentiell backoff vokser venteintervallet vanligvis med flere forsøk opp til en fastsatt øvre grense; jitter varierer den faktiske pausen etter regelen som brukes.

Tilfeldighet gjør ikke en gjentatt operasjon trygg. Et tapt svar kan skjule en skriveoperasjon som allerede er fullført. Før neste forsøk trenger integrasjonen derfor en trygg regel for gjentakelse, for eksempel idempotens eller kontroll av resultatet.

Kilder

Artikler om temaet

API-er og integrasjon med ASES

ERP, CRM og nettbutikk ryddig koblet sammen