Circuitpanelboards是什么意思
问题描述
- 精选答案
-
Circuit Breaker翻译过来叫做断路器,新建的小区里家家都有,就是这个东西:熟悉吧,断路器的作用嘛,如果你在家里从来没用过或者关注过这个东西,我来讲讲:当线路短路、或是过载电路会自动切断电源。
它跟另外有个叫做熔断器的有类似之处。熔断器英文名叫Fuse,这个样子:断路器和熔断器相比较,断路器在短路之后还能够恢复,合上闸之后继续用;熔断器就不是了,断了之后就需要更换电阻丝,重新接上线之后才能使用。上面说了这两个设备,而且配了图,目的是为了引出本节的主题:Circuit Breaker Pattern,断路器模式。稍穿插一些情怀层面的东西:OO编程里的类讲究把自然界的物体类化为Class,Class有它自己的属性和行为,好比苹果是红的,苹果可以吃;在云化的软件体系结构里,系统里的各个模块更是接近于真实世界的功能组件,真实世界里的各个部门、或是各个组成部分往往都会直接映射为云化系统里的某个容器。码农所沉浸的世界里,不仅仅是逻辑和代码,反而更是真实的世界,所以在讲断路器模式之前,我们讲讲电路里断路器是有必要的。进入正题,在分布式的软件体系结构中,一个服务会因各种问题而不能正常工作,比如服务器负荷太大,或是底层数据资源池不可用、或者网络短时期不稳定、或服务器损坏等等。这个服务有可能是短暂性的工作不正常,也有可能是彻底坏了。问题一:对于短暂性的工作不正常,如果服务的调用者没有一点仁义之心,卯足了劲不间断调用,那么这个短暂性的不正常可能会因为调用者的关系而很难恢复。问题二:对于彻底性的损坏,对调用者而言,它没必要反复尝试,看看服务工作正常了没有,这对于调用者而言,是无谓的性能损耗,且于事无补。断路器模式就是为了解决这两个问题而生的。一个服务有三种状态,分别是open、closed和half-open。open表示闸开,这时服务不工作,closed表示合闸,这时服务工作,half-open表示服务短暂性不工作、等待恢复。这三种状态之间的转换关系如下图(图中Trip是跳闸的意思):当服务太慢时,服务由closed状态切换到Half Open,直至服务恢复正常;当服务损坏,服务转成open状态。具体到断路器模式的实现方式上:把现有服务(supplier)封装成一个circuit breaker,客户端的情况转由circuit breaker来处理。Circuit Breaker检测timeout情况,根据timeout的次数将服务自动切换为half-open或close状态,看时序图:在Akka和Netflix/Hystrix中封装了Circuit Breaker Pattern的实现。本文参考了:1)Reactive Microservices Architecture - O'Reilly Media2)Circuit breaker design pattern(WIKI)
猜你喜欢内容
-
简单网:构建全网教育数据枢纽,让知识检索化繁为...
简单网:构建全网教育数据枢纽,让知识检索化繁为“简”回答数有0条优质答案参考
-
去三亚有什么好玩的地方
去三亚有什么好玩的地方回答数有1条优质答案参考
-
石狮一日游必去景点推荐
石狮一日游必去景点推荐回答数有1条优质答案参考
-
电气工程师的证书考取条件是什么
电气工程师的证书考取条件是什么回答数有1条优质答案参考
-
房地产估价师的具体报考条件有啥
房地产估价师的具体报考条件有啥回答数有1条优质答案参考
-
房产经纪人的工作内容具体包含什么
房产经纪人的工作内容具体包含什么回答数有1条优质答案参考
-
学习小提琴都有哪些难点
学习小提琴都有哪些难点回答数有1条优质答案参考
-
企业行政管理证书的含金量怎么样
企业行政管理证书的含金量怎么样回答数有1条优质答案参考
-
初学者要怎么入门小提琴
初学者要怎么入门小提琴回答数有1条优质答案参考
-
报考珠宝鉴定师要啥条件
报考珠宝鉴定师要啥条件回答数有1条优质答案参考
















