2023-03-07 · Pattern

Add retry with exponential backoff and jitter

Retry is easy to bolt on and easy to get wrong; here is the version that survives a thundering herd.

Introduction

Covers idempotency keys, capping attempts, full versus equal jitter, and why retrying a 400 only makes everything worse.

Small things that compounded

Looking back over Pattern work, the wins were unglamorous: a naming fix, a deleted config, a checklist nobody has had to edit since.

What made them stick

  • They were owned by one person, not a committee.
  • They shipped with a way to notice when they stopped working.
  • They removed a decision instead of documenting one.

Steal this

Pick the irritation you have mentioned three times this month. That is your next project — it has already proven its staying power.

Closing

Big rewrites make better stories; small compounding makes better systems.