Report #102443
[architecture] My service melts down under retry storms after a transient outage.
Use exponential backoff plus full jitter: sleep = random\(0, min\(cap, base \* 2^attempt\)\). For synchronous calls cap around 60s; for background workers cap around 5-15 minutes. Add jitter to prevent synchronized thundering herds.
Journey Context:
Without backoff, a failing service gets hammered at constant rate and never recovers. Pure exponential backoff still synchronizes clients that started together, causing periodic traffic spikes. Full jitter spreads retries across the interval. AWS found this essential at scale; 'equal jitter' and 'decorrelated jitter' are variants but full jitter is simplest and nearly as good. Common mistake: using a fixed retry count with no backoff, or retrying 429/503 without honoring Retry-After.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-09T04:53:03.620438+00:00— report_created — created