Hoppa till innehållet

Jitter vid återförsök

Retry-jitter varierar väntetider slumpmässigt för att sprida återförsök och minska samtidiga anrop från många klienter.

Även känt somRetry jitter
API:er & integration

Retry-jitter inför slump i väntetiden före ett nytt anrop. Det sprider flera klienters försök över tid. Det är särskilt användbart när många klienter upptäcker samma fel samtidigt: en lika lång paus kan bara flytta nästa belastningstopp.

Tre klienter, olika väntetider

I ett fiktivt exempel får tre klienter var och en välja en slumpmässig väntetid inom ett fönster på 0–2 s före nästa försök. De väntar exempelvis 0.4 s, 1.1 s och 1.7 s. Värdena visar spridningen; de är ingen rekommenderad konfiguration. Försök kan fortfarande sammanfalla med jitter.

Strategin för återförsök avgör fortfarande vilka fel som motiverar ett nytt försök, hur många försök som tillåts och när den totala tidsgränsen nås. Målsystemets anvisningar om väntetider ska följas. Vid exponentiell backoff växer vänteintervallet vanligen med fler försök upp till en inställd övre gräns; jitter varierar den faktiska pausen enligt den regel som används.

Slump gör inte en upprepad operation säker. Ett förlorat svar kan dölja en skrivning som redan har slutförts. Före nästa försök behöver integrationen därför en säker regel för upprepning, exempelvis idempotens eller kontroll av resultatet.

Källor

Artiklar om ämnet

API:er & integration med ASES

ERP, CRM och webbutik smidigt sammankopplade