Circuit breakers are one of the most important resilience patterns in modern distributed systems. Just like an electrical circuit breaker in your home stops the flow of electricity when something goes wrong (preventing fires), a software circuit breaker stops the flow of requests to a failing service β protecting your system from cascading failures and giving the broken service time to recover. If you have ever seen a website show "Service temporarily unavailable" instead of hanging forever, there is a good chance a circuit breaker was doing its job.