Gateway Gus saysOn failure, retry with exponential backoff and jitter — and only retry safe operations.
Transient errors (429, 503, timeouts) deserve a retry — but not immediately or all at once. Use exponential backoff (wait 1s, 2s, 4s…) plus random jitter so clients don't retry in lockstep (a "thundering herd"). Respect Retry-After. Only auto-retry idempotent requests (GET/PUT/DELETE) unless you use idempotency keys for POSTs.
Power-ups you unlock
Retry transient errors (429, 503, timeout)
Exponential backoff + random jitter
Respect Retry-After
Only retry idempotent ops (or use idempotency keys)
Timeout Titan attacks — common mistakes
Immediate tight-loop retries (makes it worse)
Retrying non-idempotent POSTs blindly
No jitter → synchronized retry storms
Boss battleSketch a backoff schedule with jitter for three retries.