此篇谈一谈关于服务的雪崩、降级、限流与熔断。

服务雪崩

在多个服务调用形成的一条链路中,如果某个下游服务响应过慢/不可用,导致上游服务逐级堵塞,最后整条链路都不可用的情况。

服务降级

  1. 下游的服务响应过慢时,下游服务主动停掉一些不太重要的业务逻辑,释放出资源,增加响应速度。
  2. 下游的服务不可用时,上游服务主动调用本地的一些降级逻辑,避免被拖垮,确保及时响应。

开关降级、限流降级、熔断降级

服务限流

限流模式主要是提前对各个类型的请求设置最高的QPS阈值,若高于设置的阈值则对该请求直接返回,不再调用后续资源。

服务熔断

当下游的服务因为某种原因突然变得响应过慢/不可用,上游服务为了保证自己整体服务的可用性,不再继续调用此下游服务,而是直接返回,从而快速释放资源。如果下游服务质量好转则恢复调用。

熔断一般是框架级的处理,多采用断路器模式。
包括熔断判断机制、熔断报警机制、熔断恢复机制