Sentinel 熔断降级:保护服务链路的稳定性机制
熔断降级是 Sentinel 保障服务稳定性的另一核心能力,当调用链路中某个资源因异常(如响应缓慢、错误率高)变得不稳定时,Sentinel 会暂时 “熔断” 对该资源的调用,避免故障扩散至整个链路。与流量控制不同,降级更关注资源自身的状态健康度,通过 “故障隔离” 实现系统的弹性容错。
熔断降级的核心目标
在分布式系统中,服务间依赖关系复杂,一个资源的故障可能引发 “雪崩效应”(如 A 依赖 B,B 依赖 C,C 故障导致 B 超时,进而导致 A 崩溃)。熔断降级的目标是:
- 当资源异常时,快速 “切断” 调用,避免无效等待或错误累积;
- 给故障资源 “恢复时间”,熔断一段时间后尝试恢复调用;
- 保护调用方资源(如线程、连接)不被耗尽,确保系统整体可用。
熔断策略详解
Sentinel 提供三种熔断策略,覆盖不同的异常场景,可根据业务特点选择配置:
1. 慢调用比例(SLOW_REQUEST_RATIO)
核心逻辑:当资源的慢调用比例超过阈值时,触发熔断,避免因长期等待耗尽调用方资源。