订阅 RSS 源

Having a grasp of common architectural patterns is essential to designing software architecture at scale. Using them saves not only time but also ensures a reliable implementation of your design. There’s no need to reinvent the wheel when there’s an architectural pattern available that applies to an architecture you’re developing.

The following is a brief overview of the Circuit Breaker architectural pattern.

Understanding the Circuit Breaker pattern

The Circuit Breaker pattern is one in which an intermediary service is placed between a caller and a target. The purpose of the intermediary service is to observe conditions in the target. Should hazard occur, the circuit breaker process reroutes traffic to another service that has the logic to mitigate the hazardous condition.

diagram circuit breaker pattern between calling service and two services

Analogically, the pattern is similar to a physical circuit breaker for electric lines. When an electric line becomes overloaded and runs the risk of overheating and causing a fire, the circuit breaker trips and stops electricity from flowing through the circuit’s wire.

Pros

  • Using a circuit breaker to respond to the onset of a hazardous condition in a fault tolerant manner is an excellent way to prevent accidents before they happen. 
  • Provides a good way to make systems fault-tolerant at a fine level of activity.

Cons

  • Testing can be harder than it appears. More is required than simply having the circuit breaker close down access to a particular service. A variety of failure responses need to be in force and these responses need to be tested.
  • Circuits are difficult to do as a one-off. They require an infrastructure management technology such as a service mesh that can manage the switching on and off.

Putting it all together

In terms of addressing failure at a general application level, relying on each process in the system to accommodate failure is a time-consuming undertaking. Making updates at the process level is even more laborious. Using the Circuit Breaker pattern in conjunction with a system management technology such as a service mesh allows software architects to take a global approach to creating fail-safe systems.


关于作者

Bob Reselman is a nationally known software developer, system architect, industry analyst, and technical writer/journalist. Over a career that spans 30 years, Bob has worked for companies such as Gateway, Cap Gemini, The Los Angeles Weekly, Edmunds.com and the Academy of Recording Arts and Sciences, to name a few. He has held roles with significant responsibility, including but not limited to, Platform Architect (Consumer) at Gateway, Principal Consultant with Cap Gemini and CTO at the international trade finance company, ItFex.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Virtualization icon

虚拟化

适用于您的本地或跨云工作负载的企业虚拟化的未来