The Circuit Breaker is a resilience design pattern that wraps calls to a remote service or API, watches for repeated failures, and "trips" to fail fast instead of hammering a struggling dependency, then periodically tests whether it has recovered.
Circuit Breaker
Circuit Breaker is a resilience design pattern for distributed systems, popularized by Michael Nygard’s Release It! and by Netflix’s Hystrix library. It wraps calls to a remote dependency and monitors them for failures; once failures cross a threshold, the breaker “trips” and short-circuits further calls — failing fast rather than piling load onto a service that is already struggling.
- Closed state - Calls flow normally while the breaker counts failures against a threshold.
- Open state - Once tripped, calls fail immediately (or fall back) instead of waiting on timeouts, protecting both caller and callee.
- Half-open state - After a cooldown the breaker lets a trial request through to test whether the dependency has recovered.
- Fallbacks - Paired with sane defaults, cached responses, or degraded behavior so a failure stays contained.
In API operations the circuit breaker is a core defense against cascading failure — one slow or dead upstream dependency shouldn’t take down every service that calls it. You see it built into API gateways, service meshes, and client SDKs, and it pairs naturally with retries, timeouts, and rate limiting. As agents begin chaining calls across many APIs autonomously, breakers become even more important: they keep a misbehaving dependency from dragging an entire agentic workflow into a retry storm.
Referenced on the API Evangelist blog
Where this standard shows up across sixteen years of my writing at apievangelist.com — how it fits into API design, governance, and the agentic turn.
What Comes After Microservices?
2023-01-25