A circuit breaker is an architectural principle used to ensure that if a service fails or experiences a delay, it does not lead to a cascading effect in other services. It ensures stability in distributed systems.
Use this profile to understand the building block briefly, place it in the model, and switch to the 360° assessment when needed.
Theoretical construct: explains a term, principle, or mental model.
What organizes, connects, or makes decisions possible.
A circuit breaker interrupts calls to a failing or overloaded service and permits them again in a controlled way after a waiting period.
Michael Nygard prominently described the pattern in Release It! as protection for distributed systems. It applies the idea of an electrical breaker to network calls and became common in microservice architectures.
The breaker has three states: closed lets calls through, open rejects them immediately, and half-open permits a test. Error and time thresholds drive transitions and prevent a cascade of calls.
Calls are forwarded normally.
Calls are rejected during a protection period.
A limited test checks whether the service has recovered.
A circuit breaker protects dependencies and makes failures visible quickly. It does not replace timeouts, retry policies, or a business fallback strategy.
Where this building block is located in the topic model.
Explore how this building block connects to concepts, methods, technologies, and tools.
These sources establish the term and its professional meaning.
All direct connections of the current building block in a compact text view.
This classification shows where the building block typically matters, how demanding it is, and what kind of impact it has in the model.
The level within the organization (enterprise, domain, team) at which the AssetBlock is applied.