Architecture Deep Dive

Resilience & Circuit Breakers — Containing Failure

When a dependency fails, unbounded retries turn one broken service into a system-wide outage. Circuit breakers stop retries once a threshold is crossed, protecting your system and giving the failing service time to recover.

Circuit BreakersBulkheadsCascading FailuresFallbacksGraceful Degradation
← Back to Architecture
The Problem

Cascading Failures

Service A calls Service B. B starts timing out. A retries. But unbounded retries fill thread pools and exhaust memory. Now A is also slow. C calls A, gets timeouts, starts retrying... the outage spreads.

  • Thundering herd: 1000 clients all retry when service recovers, overwhelming it.
  • Resource exhaustion: threads, memory, connections pile up.
  • Amplification: one slow service takes down the whole system.