NOTE
Designing Resilience Components
Timeouts, deadlines, retries, circuit breakers, bulkheads, rate limits, load shedding, fallbacks, and idempotency.
This is a historical learning note and may contain outdated or incomplete understanding.
Resilience begins with deadlines/timeouts so failures do not hold resources indefinitely. Retries should be bounded, backoff/jittered, inside an overall deadline, and used only when the operation’s idempotency/unknown-outcome semantics make them safe.
Bulkheads/capacity limits isolate failures; circuit breakers avoid repeatedly calling a clearly unhealthy dependency; load shedding rejects work that cannot meet service objectives.
Fallbacks must be semantically valid and observable. A fallback returning plausible but wrong data can be worse than a clear failure.