How it works
Retry only transient failures
Timeouts, connection resets, and overload responses may recover; validation errors and permanent authorization failures generally will not.
Add jitter
Randomizing each delay prevents thousands of clients from waking on the same schedule and creating another traffic spike.
Set a budget
Limit attempts, total elapsed time, and per-attempt timeout so retries do not consume the full user deadline.
Require safe repetition
Retrying a write needs idempotency or deduplication because the first attempt may have succeeded even when its response was lost.