服务雪崩、熔断及降级

服务雪崩

       假设有如下调用链:

image.png

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

服务熔断

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

服务降级

什么是服务降级?

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

熔断和降级的区别?

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 引言 首先,之所以谈这个话题呢,是发现现在很多人对微服务的设计缺乏认识,所以写一篇扫盲文。当然,考虑到目前大多微服...
    java成功之路阅读 3,541评论 0 4
  • 服务降级 由于爆炸性的流量冲击,对一些服务进行有策略的放弃,以此缓解系统压力,保证目前主要业务的正常运行。它主要是...
    十丈_红尘阅读 12,617评论 0 34
  • 一、交易型系统设计的一些原则 1.在设计系统时,应该多思考墨菲定律: * 任何事情都没有表面看起来那么简单 * 所...
    ZyBlog阅读 14,512评论 2 48
  • 选择题部分 1.(),只有在发生短路事故时或者在负荷电流较大时,变流器中才会有足够的二次电流作为继电保护跳闸之用。...
    skystarwuwei阅读 14,767评论 0 7
  • ——最重要的事情只有一件 基于长期目标,未来5年你只做哪一件事情让其他事情变得简单或者没有必要? 基于5年目标,未...
    jcl小江江阅读 1,693评论 0 0

友情链接更多精彩内容