Jitter adds randomness to backoff delays, preventing synchronized retries from multiple clients.
Problem without jitter:
clients fail at same time. All retry after ms. Server overwhelmed again.
With jitter:
Each client adds random delay. Retries spread over time.
Implementations:
- Full jitter:
wait = random(0, base × 2^attempt) - Equal jitter:
wait = (base × 2^attempt)/2 + random(0, (base × 2^attempt)/2) - Decorrelated:
wait = random(base, prev_wait × 3)
AWS recommends decorrelated jitter for best distribution.