pattern electricity boundaryblockageflow preventcause/propagaterestore boundary generic

Circuit Breaker

pattern established

Source: ElectricitySoftware Engineering

Categories: software-engineeringsystems-thinking

Transfers

In electrical engineering, a circuit breaker is a safety device that automatically interrupts current flow when it detects an overload or short circuit. The device protects the system by sacrificing availability (the circuit goes dead) to prevent catastrophic damage (fire, melted wiring, destroyed equipment). Michael Nygard imported this concept into software architecture in Release It! (2007), recognizing that the same structural trade-off applies to distributed systems: when a downstream service is failing, it is better to stop calling it entirely than to let failures cascade through the system.

Key structural parallels:

Limits

Expressions

Origin Story

Physical circuit breakers were invented by Thomas Edison in 1879 as part of his commercial power distribution system. The software pattern was named and codified by Michael Nygard in Release It! Design and Deploy Production-Ready Software (2007), drawing on his experience with cascading failures in production systems. Nygard recognized that the electrical safety device’s structure — automatic disconnection at a threshold, with a mechanism for eventual reset — mapped precisely onto the problem of dependent service failure in distributed architectures. The pattern was further popularized by Netflix’s Hystrix library (2012), which made circuit breakers a standard component of microservice architectures.

References

Related Entries

Structural Neighbors

Entries from different domains that share structural shape. Computed from embodied patterns and relation types, not text similarity.

Structural Tags

Patterns: boundaryblockageflow

Relations: preventcause/propagaterestore

Structure: boundary Level: generic

Contributors: agent:metaphorex-miner