微服务架构和实践

服务雪崩、熔断及降级

2019-02-14  本文已影响34人  阿猫阿狗Hakuna

服务雪崩

       假设有如下调用链:

image.png
       假如Service A的流量波动很大,这种情况下,Service B和C不一定能扛得住突发的请求。
       这时,如果Service C因为扛不住请求,变得不可用,Service B的请求会阻塞,并耗尽Service B的线程资源,Service B就会变得不可用。紧接着会影响Service A,使其也不可用。
       一个服务失败,导致整条链路都失败的情况,称为服务雪崩

服务熔断

       当下游服务因为某种原因不可用或响应过慢,上游服务为了保证自己整体服务的可用性,不再继续调用目标服务,直接返回,快速释放资源。
       熔断机制的设计,基本上业内使用断路器模式。目前最流行的断路器是Hystrix。

服务降级

什么是服务降级?

       考虑两种场景:
(1)当下游服务因为某种原因响应过慢,下游服务主动停掉一些不太重要的业务,释放出服务器资源,增加响应速度。
(2)当下游的服务因为某种原因不可用,上游主动调用本地一些降级逻辑,避免卡顿,迅速返回给用户。

熔断和降级的区别?

(1)服务降级有很多种方式,比如开关降级、限流降级、熔断降级。
(2)服务熔断数据降级方式的一种。

上一篇 下一篇

猜你喜欢

热点阅读