外观
一句话答案
一个服务故障导致调用方线程阻塞耗尽进而级联崩溃,防护:超时+熔断+限流+降级+舱壁隔离。
核心要点
防护措施:
- 超时控制:避免无限等待
- 熔断器:快速失败,停止调用故障服务
- 限流:控制进入流量
- 降级:核心路径保障,非核心返回默认值
- 舱壁隔离:不同服务用不同线程池
Sentinel 三板斧: 流控 + 熔断 + 系统保护
追问与易错
追问方向:
- 服务雪崩和缓存雪崩区别?
- 舱壁隔离怎么实现?
- 你们怎么做降级?
易错点:
- ❌ 加超时就够了——还需熔断限流降级
- ❌ 降级就是返回错误——应返回兜底值
💡 记忆锚点
雪崩像多米诺骨牌:一个服务超时 -> 调用方线程阻塞耗尽 -> 调用方也挂 -> 继续传染整条链路。五道防线:超时控制(别傻等)、熔断器(快速失败别连累人)、限流(控制入口流量)、降级(非核心返回默认值)、舱壁隔离(不同服务用不同线程池,一个沉船不连累整艘)。