当前位置:首页 > 公众号精选 > 架构师社区
[导读]关于熔断,网上的文章很多,但是真正讲明白的文章寥寥无几。

作者简介:曾任职于阿里巴巴,每日优鲜等互联网公司,任技术总监,15年电商互联网经历

关于熔断,网上的文章很多,但是真正讲明白的文章寥寥无几。很多作者互相抄袭,缺乏自己的认知和理解。

分享熔断之前,咱们先说说大家更熟悉的Timeout。Timeout和熔断有关系吗?别急,往下看就清楚啦!

我们在跨系统调用跨服务调用以及调用第三方接口时,一般会设置超时时间。有两个作用:其一,出于用户体验考虑,啥结果也不返回,一直让人等下去,确实受不了。其二,出于系统性能问题的考虑,并发不高时timeout可以避免线程阻塞带来的性能问题,但是并发高时timeout就不能解决问题啦。

现在轮到熔断大显身手了。

熔断是什么?

一种降级手段。当服务不可用时,用来避免连锁故障,雪崩效应。发生在服务调用的时候,在调用方做熔断处理。

熔断的意义是什么?

我们使用熔断前要先弄清楚熔断的真正意义,避免用错给系统带来麻烦。实际上,用一句话就可以描述熔断的意义上游服务快速失败(Fail Fast),并保护下游服务

详细解释一下,假设上游服务是A,下游服务是B,A调用B,B发生故障,开启熔断:

  • 对于上游服务A:请求到A后直接快速返回(返回值可以是默认值,或者通过一种后背(Fallback)方案获取的值),快速失败,不再发送到B 避免因为B故障,导致请求线程持续等待,进而导致线程池线程和CPU资源耗尽,进而导致A无响应甚至整条调用链故障。

  • 对于下游服务B:熔断后,请求被A拦截,不再发送到B,B压力得到缓解,避免了仍旧存活的B被压垮,B得到了保护。

熔断状态流转过程:

假设上游服务是A,下游服务是B,A调用B。

熔断生命周期包括三个状态:关闭,半开启,开启。

关闭状态->开启状态,A调用B请求失败次数在设定时间内达到阈值,开启熔断

开启状态->半开启状态,熔断开启后,熔断器根据设定时间间隔定期自动进入半开启状态

半开启状态->关闭状态(或开启状态),半开启状态下会从A发送少量请求到B来试探B服务是否能正常提供服务,如果请求成功率达到阈值就关闭熔断,否则就回到熔断开启状态

熔断适用场景

出于系统性能问题的考虑,并发不高时timeout可以避免线程阻塞带来的性能问题,但是并发高时timeout就不能解决问题啦。这时可以用熔断

只要是服务之间的调用,并且能设计合理的获取返回值的方案(返回值可以是默认值,或者通过一种后备(Fallback)方案获取的值),一般业务场景都可以做熔断处理。比如电商行业,在sku不是很多的场景下,我们可以在订单服务冗余库存数据(注意控制合理的安全库存,防超卖)。下单减库存时,如果库存服务挂了,开启熔断后,我们可以直接从订单服务取库存,订单服务取不到库存,按扣减库存失败处理。这个可以做为后备(Fallback)方案。

有哪些开源实现

Hystrix,Resilience4j等


免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

去年,英国电信公司获得了用于提供5G服务的频谱。其中,电信运营商沃达丰(Vodafone)支付了3.78亿英镑,在3.4GHz频段赢得了50兆赫的频谱。运营商EE赢得了40兆赫兹,为此付出了3.03亿英镑。运营商Thre...

关键字: 电信 5G 服务

Entegris中国技术中心的落成运营进一步提升了公司的在华技术能力,其四大实验室所提供的专业技能是打造半导体制造生态圈的关键环节。根据半导体协会提供的数据,未来10到20年,中国将成为半导体材料增长最快的地区,这也为半...

关键字: 中国技术 服务 半导体

被提前曝光的“幽灵(Spectre)”与“熔断Meltdown)”风险让全球IT核心企业狼狈不堪。谷歌零项目组(Google Project Zero)在发现这两个漏洞之后,于2017年6月1日向英特尔、AMD等公司通报...

关键字: 幽灵 熔断 谷歌

目前,我国社会目前已逐步呈现人口老龄化趋势,且医疗资源存在分配不均衡、医疗供需矛盾突出的情况,智慧医疗将在其中起到重要作用。智慧医疗将有望解决我国医疗供需矛盾,提升我国医疗服务的能力和效率,对解决医疗配置的各地区间的不平...

关键字: 智慧医疗 医疗 服务

10000服务只是海马汽车全面提升服务质量的一段序曲。据刘海权透露,从6月份起,海马汽车还将在全国各重点区域因地制宜,为当地消费者量身打造特色、专项、个性的服务日/周/月活动。

关键字: 服务 海马汽车 消费者

2020年新冠疫情爆发,互联网医疗作为线下医疗的有力后援,优势凸显,迎来新的机遇;随着新兴数字技术的迅速发展和不断渗透,科技赋能整个医疗健康产业也方兴未艾。在现代制造业升级换代,科技创新特别是关键技术需要突破这样一个大的...

关键字: 互联网医疗 医疗 服务

摘 要:面向服务的架构(SOA)是一种架构风格,遵循此风格的系统是基于松耦合、粗粒度、自治的组件间的交互来构 建的,这类组件被称为服务,Web也是服务的一种。本文详细描述了 Web服务的SOA构建关键技术,并就其中的服务...

关键字: Web 服务 SOA SOAP 策略

摘要:从通信网络生命周期管理的角度,简要介绍了物联网网络资源的可视化管理、动态管理和管理维度,重点讨论了对网络资源投入使用和服务保障的管理问题。

关键字: 网络资源 管理 全生命周期 使用 服务

摘 要 :为解决昆明长水国际机场雷暴、大风、低空风切变及低云低能见度等影响航空器飞行安全和机场运行效率的复杂危险天气预报预警难的问题,近年来长水机场在民航局、民航局空管局的大力支持下部署了多套先进的气象探测传感设备。机场...

关键字: 多源数据 融合 复杂天气 预报 预警 服务

▼点击下方名片,关注公众号▼如下图所示是一个直流熔断指示电路:大家知道这个电路是如何工作的吗?欢迎评论区留言并分享你知道的指示电路。End微信公众号后台回复关键字“加群”,添加小编微信,拉你入技术群。

关键字: 熔断 电路
关闭
关闭