← Back to microservices patterns map
🔁
Microservices Pattern

Retry with Exponential Backoff

Retry transient failures with progressively longer waits and jitter.

retry

Detailed Description

Retries are only safe when the operation is idempotent or protected by idempotency keys.

Always add jitter so many clients do not retry at the exact same time.

Visual Diagram

Retry Strategy
  Attempt 1 → fails (wait 100ms)
  Attempt 2 → fails (wait 200ms)
  Attempt 3 → fails (wait 400ms)
  Attempt 4 → success ✓

  With Jitter (avoids thundering herd)
  Wait = min(cap, base * 2^attempt) + random(0..100ms)
  Idempotency required for safe retries!

Tradeoffs

Pros

Handles transient failures

Cons

Increases latency, requires idempotency

Examples: axios-retry, got retry, AWS SDK retry