服务雪崩、熔断、降级

1 服务雪崩

假如存在调用链条:serviceA -》 serviceB -》 serviceC。
三个服务的承受能力是不同的,如果serviceA和serviceB请求正常,serviceC因为扛不住请求变得不可用,会导致serviceA和serviceB一直阻塞,资源耗尽后导致serviceB和serviceA变得不可用,导致服务雪崩。

2 服务熔断

下游服务如果因为不可用或者请求超时,上游服务为了保证自己的服务可用性,则不再调用下游服务而直接返回,快速释放资源。等到目标服务情况好转后回复调用。

2.1 断路器模式

断路器模式是熔断机制的一种实现,存在open,close,half open三种状态

  • 最开始断路器是close状态,一旦错误数量达到阈值,变转为open状态
  • reset timeout,达到设置的时间后,会转移到half open,尝试放行一部分请求到下游服务
  • 一旦检测成功,变回到close状态

3 服务降级

3.1 使用场景

  • 当下游服务响应过慢或者不可用,会使用降级处理
  • 为了将资源预留出来,把一些不重要的请求直接使用降级处理。例如双十一会把一些不重要的资源(种树浇水等)关闭,把资源留给商品、订单等

3.2 降级类型

服务降级有很多种:开关降级、限流降级、熔断降级,熔断器使用的熔断降级只是降级的一种方式,所以不能将二者混为一谈。

  • 开关降级:使用动态配置,手动打开或者关闭降级开关。
  • 限流降级:客户端访问量达到阈值后,调用降级处理
  • 熔断降级:熔断器打开后,调用降级处理
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容