Report #14143
[architecture] How to retry failed network requests without causing thundering herd
Use 'Full Jitter': sleep = random\(0, min\(cap, base \* 2 \*\* attempt\)\)\). Never use fixed intervals or pure exponential backoff without jitter.
Journey Context:
Naive exponential backoff \(2^attempt\) causes synchronized retries after outages \(thundering herd\). Full Jitter \(random up to the exponential value\) desynchronizes clients. 'Equal Jitter' \(sleep = exponential/2 \+ random\(0, exponential/2\)\) is an alternative for tighter bounds but less dispersion. AWS found Full Jitter optimal for high-contention recovery.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T20:46:14.269030+00:00— report_created — created