DEV Community

Sreekar Reddy
Sreekar Reddy

Posted on • Originally published at sreekarreddy.com

⚡ Circuit Breaker Explained Like You're 5

Preventing cascade failures

Day 119 of 149

👉 Full deep-dive with code examples


The Electrical Circuit Breaker Analogy

When too much electricity flows:

  • The circuit breaker trips
  • Stops electricity to prevent fire
  • You fix the problem
  • Then reset the breaker

Software circuit breakers work the same way!

They can temporarily stop sending requests to a failing dependency so your system can fail fast and stay more stable.


The Problem It Solves

In connected systems, one failure spreads:

Service A → calls Service B → B is down!
                 ↓
A keeps trying... and waiting... and trying...
                 ↓
A's resources exhausted → A crashes too!
                 ↓
Other services calling A start failing
                 ↓
Entire system down!
Enter fullscreen mode Exit fullscreen mode

This is a cascading failure.


How Circuit Breaker Works

Three states:

Closed (Normal):

  • Requests pass through normally
  • Failures are counted

Open (Tripped):

  • Too many failures? Stop calling that service
  • Return error immediately
  • Don't waste time/resources on a dependency that's likely still unhealthy

Half-Open (Testing):

  • After some time, try one request
  • If it works, go back to Closed
  • If it fails, stay Open

A Simple Flow

Closed → failure threshold reached → Open (stop calling for a cooldown)
                         ↓
         Wait for cooldown
                         ↓
        Half-Open → try one request
                         ↓
        Success? → Closed (normal)
        Failure? → Open (keep waiting)
Enter fullscreen mode Exit fullscreen mode

Benefits

  • Fast failure → Don't wait for timeouts
  • Resource protection → Don't waste resources on dead services
  • Recovery time → Give failing service time to recover
  • Graceful degradation → Return fallback instead of error

In One Sentence

Circuit breakers help your app fail fast when a dependency is unhealthy, reducing the chance that one failing service causes wider outages.


🔗 Enjoying these? Follow for daily ELI5 explanations!

Making complex tech concepts simple, one day at a time.

Top comments (0)