必威体育Betway必威体育官网
当前位置:首页 > IT技术

漫画:什么是服务熔断

时间:2019-11-05 10:44:37来源:IT技术作者:seo实验室小编阅读:67次「手机版」
 

熔断

转载自 漫画:什么是服务熔断

什么是服务熔断?

熔断这一概念来源于电子工程中的断路器(Circuit breaker)。在互联网系统中,当下游服务因访问压力过大而响应变慢或失败,上游服务为了保护系统整体的可用性,可以暂时切断对下游服务的调用。

这种牺牲局部,保全整体的措施就叫做熔断。

如果不采取熔断措施,我们的系统会怎样呢?我们来看一个栗子。

当前系统中有A,B,C三个服务,服务A是上游,服务B是中游,服务C是下游。它们的调用链如下:

一旦下游服务C因某些原因变得不可用,积压了大量请求,服务B的请求线程也随之阻塞。线程资源逐渐耗尽,使得服务B也变得不可用。紧接着,服务A也变为不可用,整个调用链路被拖垮。

像这种调用链路的连锁故障,叫做雪崩。

正所谓刮骨疗毒,壮士断腕。在这种时候,就需要我们的熔断机制来挽救整个系统。熔断机制的大体流程和刚才所讲的考试策略如出一辙:

这里需要解释两点:

1.开启熔断

在固定时间窗口内,接口调用超时比率达到一个阈值,会开启熔断。进入熔断状态后,后续对该服务接口的调用不再经过网络,直接执行本地的默认方法,达到服务降级的效果。

2.熔断回复

熔断不可能是永久的。当经过了规定时间之后,服务将从熔断状态回复过来,再次接受调用方的远程调用。

服务熔断的实际应用

Spring Cloud Hystrix是基于Netflix的开源框架Hystrix实现,该框架实现了服务熔断、线程隔离等一系列服务保护功能。

对于熔断机制的实现,Hystrix设计了三种状态:

1.熔断关闭状态(Closed)

服务没有故障时,熔断器所处的状态,对调用方的调用不做任何限制。

2.熔断开启状态(Open)

在固定时间窗口内(Hystrix默认是10秒),接口调用出错比率达到一个阈值(Hystrix默认为50%),会进入熔断开启状态。进入熔断状态后,后续对该服务接口的调用不再经过网络,直接执行本地的fallback方法。

3.半熔断状态(Half-Open)

在进入熔断开启状态一段时间之后(Hystrix默认是5秒),熔断器会进入半熔断状态。所谓半熔断就是尝试恢复服务调用,允许有限的流量调用该服务,并监控调用成功率。如果成功率达到预期,则说明服务已恢复,进入熔断关闭状态;如果成功率仍旧很低,则重新进入熔断关闭状态。

三个状态的转化关系如下图:

文章最后发布于: 2018-05-07 10:36:05

相关阅读

服务上行,渠道下沉,今年的京东双11淡定之下有深意

又是一年双11,电商行业开始厉兵秣马,而京东也早早的宣布开始了今年的双11筹备。不过和往年的硝烟弥漫不同,今年的京东双11沟通会却显

专注服务和口碑 一起装修网十年沉淀蓄势而发

十年对于一个人来说,意味着一个阶段的成长乃至成熟;而对于一个行业来讲,十年也意味着翻天覆地,甚至是颠覆性的。装修行业短短30多年的

纵然云计算:我们该如何挑选出合适自己的高防服务器

高防服务器是指能过防御攻击的服务器类型。服务器租用过程中,用户无需单独购买服务器,由服务器租用商根据用户的要求进行相关软件以

爬虫笔记(四)——代理服务器的设置

使用同一个IP去爬取同一个网站上的网页,久了之后会被该网站服务器屏蔽。这个时候我们就可以使用代理服务器。 (使用代理服务器去爬

智能手机+免费流量:手机价格战升级为内容和服务之争

6月15日下午,华为荣耀宣布已与移动达成深度合作,即将发布的荣耀4X移动升级版,可以免费观看视频。换句话说就是用户使用这款手机看视

分享到:

栏目导航

推荐阅读

热门阅读