文章目录

  • 简介
  • 参考资料

简介

我们知道,在微服务架构中,一个服务通过远程调用去访问另一个服务是很常见的事,服务运行在不同的进程甚至不同的机器上,服务间的调用可能会一直得不到响应直到超时失败,更严重的是,如果有多个远程调用同时请求了一个没有响应的服务,可能会耗尽系统的资源从而导致跨服务的级联失败,为了防止这种灾难性的结果,有人(据说是一个叫Michael Nygard的人)就提出了一种叫做Circuit Breaker的模式,中文一般翻译为电路熔断器模式,它的原理就像电路中的保险丝一样,当电路出现异常(比如短路)时就会自动熔断,虽然熔断后电用不了了,但也防止了更严重的后果发生。所以当我们看到Circuit Breaker这个术语时,如果感到疑惑不妨把它想象成一根保险丝(或者阀门),或许会容易理解很多。

Circuit Breaker的思路其实非常简单,我们把服务被调用的方法放到Circuit Breaker中保护起来,Circuit Breaker会监控这些方法的失败,一旦失败次数达到一个阈值,Circuit Breaker就会被触发,后续对这些被保护的方法的调用都会直接失败,由于这些方法根本就没有执行过,所以也不会出现超时的情况,如下图:


一般情况下我们还会在Circuit Breaker被触发的时候发送一些告警信息,来提醒我们系统中出现了问题,从而可以快速地发现系统中的异常并进行处理。
在SpringCloud中,Netflix组件下有一个叫Hystrix的库,实现了Circuit Breaker模式。

参考资料

电路熔断器模式

Circuit Breaker(电路熔断器)模式原理相关推荐

  1. Cloud Design Pattern - Circuit Breaker Pattern(断路器模式)

    1.前言 上一篇,我们讲了云计算设计模式之缓存设计模式,这一篇我们来聊聊云计算设计模式之断路器模式.断路器是一个电路中的元器件,作用是当电路中出现了短路或者瞬间电流过大等问题,断路器直接跳闸,当修复电 ...

  2. 【SpringCloud技术专题】「Hystrix」(9)熔断器的原理和实现机制

    熔断器(Circuit Breaker)介绍 熔断器,现实生活中有一个很好的类比,就是家庭电路中都会安装一个保险盒,当电流过大的时候保险盒里面的保险丝会自动断掉,来保护家里的各种电器及电路. Hyst ...

  3. Circuit Breaker熔断器

    在分布式环境中,我们的应用可能会面临着各种各样的可恢复的异常(比如超时,网络环境异常),此时我们可以利用不断重试的方式来从异常中恢复(Retry Pattern),使整个集群正常运行. 然而,也有一些 ...

  4. 微服务高可用之熔断器实现原理与 Golang 实践

    I.内容提要 在微服务架构中,经常会碰到服务超时或通讯失败的问题,由于服务间层层依赖,很可能由于某个服务出现问题,不合理的重试和超时设置,导致问题层层传递引发雪崩现象,而限流和熔断是解决这个问题重要的 ...

  5. 《开关电源宝典 降压电路(BUCK)的原理与应用》

    我是"余生死磕电源,致力于成为电源大师"的"电源先生". 嗨,硬件攻城狮或电源工程师同行们,我想写本专门解析BUCK电源电路的书籍,以下是"前言&qu ...

  6. 白话Elasticsearch52-深入聚合数据分析之fielddata内存控制、circuit breaker短路器、fielddata filter、预加载机制以及序号标记预加载

    文章目录 概述 官网 fielddata核心原理 fielddata内存限制 监控fielddata内存使用 circuit breaker fielddata filter的细粒度内存加载控制 fi ...

  7. 线上防雪崩利器——熔断器设计原理与实现

    转载自  线上防雪崩利器--熔断器设计原理与实现 本文来自作者投稿,作者林湾村龙猫,这是一篇他根据工作中遇到的问题总结出的最佳实践. 上周六,我负责的业务在凌晨00-04点的支付全部失败了. 结果一查 ...

  8. 学习LLC谐振变换电路的工作原理

    五.学习LLC谐振变换电路的工作原理 在具有电阻R.电感L和电容C元件的交流电路中,电路两端的电压与其中电流相位一般是不同的.如果调节电路元件(L或C)的参数或电源频率,可以使它们相位相同,整个电路呈 ...

  9. 零序电流 Zero-sequence curren Residual Current Circuit Breaker

    What is a Residual Current Circuit Breaker? - Quisure不对称运行和单相运行是零序电流产生的主要原因.在正常的三相四线制电路中,三相电流的向量和等于零 ...

最新文章

  1. android 内部类的优化
  2. python培训班时间 费用-Python培训班大概多少钱?老男孩Python培训
  3. 云服务器 架设传奇_传奇手游-战神引擎架设教程
  4. VTK:IO之ReadLegacyUnstructuredGrid
  5. 读懂python代码_Python面试|一文让你读懂if __name__==’__main__’的含义
  6. 【Core Swagger】.NET Core中使用swagger
  7. 商业认知,新的一年已经开始,许多老板都制订了新的目标
  8. JavaScript判断数组是否有重复值
  9. 6 岁就成“大厂团宠”,这门编程语言竟引 Linux、谷歌、亚马逊共“折腰” !
  10. cb rm –rf_php执行rmrf命令
  11. oracle驱动ojdbc6的下载安装
  12. 原生js自定义提示框
  13. ARP报文头部格式和请求流程
  14. 【谷歌地图--PlacesSDK集成】
  15. 从此以后提及你 无关风雨无关晴
  16. C语言中get_put函数详解,C语言第五课之getchar函数和putchar函数
  17. eclipse 个性化设置 绿色护眼
  18. 在pycharm中解决同一目录下py文件不能import的问题
  19. Centos 误删rpm命令拯救
  20. pg数据库执行sql文件_在linux中Postgresql数据库如何执行脚本文件

热门文章

  1. 自学python需要下载什么软件-一个零基础学习Python应该知道的学习步骤与规划
  2. python教程第四版pdf下载-笨办法学python第四版 电子书(pdf格式)
  3. python装饰器-如何理解Python装饰器?
  4. python3安装-Python3的安装
  5. python常用函数-python—各种常用函数及库
  6. python web为什么不火-pythonweb为什么不火-问答-阿里云开发者社区-阿里云
  7. python编程自学能学会吗-自学Python会有什么困难?老男孩自学python编程
  8. 自学python推荐书籍 知乎-你一定不能错过的翻译学习资源!
  9. python代码大全p-[译]让你的Python代码优雅又地道
  10. python和c-python和C的如何实现互相调用?