Report #104369
[architecture] What backoff strategy should I use for retries in a distributed system?
Use exponential backoff with full jitter: delay = random\(0, min\(cap, base \* 2^attempt\)\). Add a small random component to avoid thundering herd. Cap total retries and use Retry-After when the server returns 429. Never retry non-idempotent requests unless you have an idempotency key.
Journey Context:
Fixed retries are the most common anti-pattern: they stampede the system. Full jitter is better than pure exponential because it spreads retries across the window. The classic AWS article by Marc Brooker shows that full jitter reduces worst-case load by orders of magnitude. Also distinguish 4xx vs 5xx: retry 429/408/5xx, not 400/403. If you need exactly-once effect, use idempotency keys rather than trying to make retries disappear.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-08-09T20:03:46.748115+00:00— report_created — created