Report #96853
[architecture] What jitter strategy should I use for exponential backoff retries?
Use 'Equal Jitter' for most distributed systems: sleep = \(2^attempt \* base\) / 2 \+ random\(0, \(2^attempt \* base\) / 2\); avoid 'Full Jitter' \(random\(0, 2^attempt\)\) for high-frequency calls as it causes too much spread and defeats the purpose of correlation.
Journey Context:
AWS popularized Full Jitter, but it's often wrong. Full Jitter \(random between 0 and max\) has high variance - some retries happen immediately, some at max, breaking the 'backing off' intuition. Equal Jitter keeps half the time deterministic \(exponential\) and adds jitter to the other half, maintaining the backoff curve while avoiding thundering herd. For very high frequency, use Decorrelated Jitter \(sleep = random\(base, sleep \* 3\)\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T21:09:00.422456+00:00— report_created — created