Skip to content

L03-09 熔断:厂商挂了不能拖垮整个系统 ​

全局中心内容:熔断是把「持续失败」变成「快速失败」,为系统争取恢复时间。 全局讲解主线:雪崩场景 → 熔断三态 → 粒度选择 → 降级方案 → 半开探测 → 编码 → 演练。


P1 · 产出页 ​

中心内容:按厂商 + 工具粒度的熔断器与降级链。

  • 讲解技巧
    • 开场场景:模型厂商故障,每次调用 30 秒超时,100 个 Agent 全部卡死。
    • 结论:没有熔断,单次故障会变成全站故障。
  • 时长:20s

P2 · 熔断三态 ​

中心内容:Closed → Open → Half-Open。

  • 页面内容:状态转换图与触发条件

  • 讲解技巧

    • 重点讲为什么要有 Half-Open:直接切回 Closed 会在厂商刚恢复时被二次打垮。
    • 讲清触发条件:用失败率 + 最小请求数双条件,样本太少时不要误判。
  • 时长:6min


P3 · 熔断粒度 ​

中心内容:按厂商熔断,必要时按工具细分。

  • 讲解技巧
    • 提醒粒度太粗的问题:一个工具挂了把整个厂商熔断,会误伤其他正常工具。
    • 给建议:先按厂商,出问题再按工具细分。
  • 时长:4min

P4 · 降级方案 ​

中心内容:熔断之后做什么,比熔断本身更重要。

  • 页面内容:降级阶梯(备用厂商 → 便宜模型 → 缓存 → 规则兜底 → 明确失败)

  • 讲解技巧

    • 强调「必须提前设计好降级链」:熔断开着却没有降级方案,等于直接停服。
    • 提醒降级要在响应里标记,让用户知道当前是降级模式。
  • 时长:6min


P5 · 备用厂商切换 ​

中心内容:同能力多厂商注册,主用失败自动切换。

  • 讲解技巧
    • 强调备用厂商的能力要对等,否则答案质量断崖下降,还不如明确报错。
    • 提醒切换要有冷却,别在两家之间来回抖动。
  • 时长:5min

P6 · 编码:Resilience4j ​

中心内容:CircuitBreaker + TimeLimiter + 降级方法。

  • 页面内容:配置与注解用法

  • 讲解技巧

    • 提醒:熔断和超时要配合,先超时快速失败,失败率才能被统计到。
  • 时长:6min


P7 · 演练 ​

中心内容:主动注入故障,验证熔断真的生效。

  • 讲解技巧
    • 给出演练方法:把厂商地址指向一个不可达的端口,观察是否在预期时间内熔断。
    • 强调没有演练过的熔断配置,等于没有。
  • 时长:5min

P8 · 避坑与小结 ​

中心内容:熔断指标也要纳入监控,别「悄悄熔断了没人知道」。

  • 讲解技巧
    • 引出下一节:还有一种更贵的故障——死循环——03-10。
  • 时长:2min

讲师备忘 ​

项内容
课前必做准备状态转换图;准备故障演练脚本
最容易超时处P4 降级链,容易被追问细节
学员最常问「阈值设多少?」答:失败率 50% + 最少 10 次调用起步
现场备用无第二厂商 → 用本地桩服务演示