断路,限流,降级,超时,隔离是一整套容错的组合拳。
在介绍断路之前,我们先了解微服务的雪崩效应。在微服务体系中由多个服务进行组成,服务之间的数据交互通过远程调用完成,这样带来一个问题,假设服务 A 调用服务 B 和服务 C,服务 B 又调用了服务 D 和服务 E,服务 C 又调用服务 F,这样就出现所谓的扇出,如果扇出的链路上某个服务调用出现不可用或者调用相应时间过长,那么服务 A 的调用资源会占用越来越多,因为服务 A 是入口资源,进而引起系统崩溃,这个就是所谓的雪崩效应。

当服务 E 出现问题,会导致服务 B 也出现问题,服务 B 出现问题会导致服务 A 出现问题,而的入口服务 A 的崩溃,就是整个系统的崩溃。
从可用性和可靠性触发,为了防止系统的整体崩溃,必须采用对应该的技术手段,采用的手段都是从系统可用性,可靠性角度出发,尽量防止系统整体缓慢甚至瘫痪。
服务熔断:是对雪崩效应的一种微服务链路保护机制;
服务降级:整体资源不够用,主动关闭部分服务,或在出现熔断情况下出现的兜底方案;
服务限流:当出现流量超越了整体系统可以承接的流量,系统主动做出管控,只允许部分流量进入,拒绝或延后其他流量
网友回复