Reliability & Latency
Exponential backoff with jitter for resilient retries of transient failures
Retries should be bounded, exponential, and jittered to avoid coordinated retry storms. Only retry idempotent operations and respect server guidance.
When encountering transient network errors, 5xx responses, or timeouts on idempotent requests.
HTTP/gRPC clients, SDKs, and background jobs communicating over unreliable networks.
# Exponential backoff with jitter (pseudocode)
for attempt in range(max_attempts):
try:
return call()
except TransientError:
sleep(rand(0, base * 2**attempt))
Built-in exponential backoff with jitter
Millions of clientsSRE guidance on jittered retries
Planet-scale servicesIdempotency keys + retries for payments
Global API trafficClient-side - Applies per call
Low to Medium - Policy tuning
Low - Library-level feature