Gå til indholdet

Jitter ved genforsøg

Retry-jitter varierer ventetider tilfældigt for at sprede genforsøg og mindske samtidige forespørgsler fra mange klienter.

Også kendt somRetry jitter
Snitflader & integration

Retry-jitter indfører tilfældighed i ventetiden før et nyt kald. Det spreder flere klienters forsøg over tid. Det er især nyttigt, når mange klienter opdager den samme fejl samtidig: En ens pause kan blot flytte den næste belastningstop.

Tre klienter, forskellige pauser

I et fiktivt eksempel må tre klienter hver vælge en tilfældig ventetid inden for et vindue på 0–2 s før næste forsøg. De venter eksempelvis 0.4 s, 1.1 s og 1.7 s. Værdierne illustrerer spredningen; de er ikke en anbefalet konfiguration. Forsøg kan stadig falde sammen med jitter.

Strategien for genforsøg bestemmer fortsat, hvilke fejl der begrunder et nyt forsøg, hvor mange forsøg der tillades, og hvornår den samlede tidsgrænse er nået. Målsystemets anvisninger om ventetider skal følges. Ved eksponentiel backoff vokser venteintervallet typisk med flere forsøg op til en fastsat øvre grænse; jitter varierer den faktiske pause efter den anvendte regel.

Tilfældighed gør ikke en gentaget operation sikker. Et mistet svar kan skjule en skriveoperation, der allerede er gennemført. Før næste forsøg skal integrationen derfor have en sikker regel for gentagelse, eksempelvis idempotens eller kontrol af resultatet.

Kilder

Artikler om emnet

Snitflader & integration med ASES

ERP, CRM og webshop forbundet ordentligt