白话微服务60秒番外篇:舱壁与熔断

2019-06-17 15:37:11 浏览数 (1)

主播:Elaine

今天是白话微服务第一季《服务通信》

番外篇《舱壁与熔断》

舱壁那一集播出后,有朋友问,这不就是熔断嘛。今天就来讲一讲两者的区别。

熔断侧重的是对于单一服务的失败控制。当失败比率达到一定程度,不会响应后续的请求。

舱壁侧重的是对多个资源的隔离控制,避免当某类资源的请求超限时的系统影响。

因此,两者的第一个区别是对象的多少,第二个区别是手段的差异。

非典疫情爆发的时候,相关部门会采取多种手段来达成对疫情的控制 。

一是限制对高发区的航班和高铁,避免病情漫延;

二是隔离已经或疑似病患,并排查相关接触者;

三是在有条件的地区,对患者注射疫苗。

不严谨的讲,这里的一和二就是舱壁模式,三就是熔断模式。

就技术实现来说,熔断多数是通过失败比率控制的,而隔离则有不同的方案。

比如Sentinel和Hystrix都面向高可用,但Sentinel实现是基于信号量的控制,即航班交通,而Hystrix是通过线程池隔离,即隔离疑似病患。

0 人点赞