此篇谈一谈关于服务的雪崩、降级、限流与熔断。
服务雪崩
在多个服务调用形成的一条链路中,如果某个下游服务响应过慢/不可用,导致上游服务逐级堵塞,最后整条链路都不可用的情况。
服务降级
- 下游的服务响应过慢时,下游服务主动停掉一些不太重要的业务逻辑,释放出资源,增加响应速度。
- 下游的服务不可用时,上游服务主动调用本地的一些降级逻辑,避免被拖垮,确保及时响应。
开关降级、限流降级、熔断降级
服务限流
限流模式主要是提前对各个类型的请求设置最高的QPS阈值,若高于设置的阈值则对该请求直接返回,不再调用后续资源。
服务熔断
当下游的服务因为某种原因突然变得响应过慢/不可用,上游服务为了保证自己整体服务的可用性,不再继续调用此下游服务,而是直接返回,从而快速释放资源。如果下游服务质量好转则恢复调用。
熔断一般是框架级的处理,多采用断路器模式。
包括熔断判断机制、熔断报警机制、熔断恢复机制