Skip to content

目标:抗抖动、抗故障、可恢复,保障核心链路可靠。

🎯 文章目标

  • 设计多副本/多 AZ、降级与熔断
  • 故障演练与容灾切换
  • 指标与应急预案

📚 背景/前置

  • 推理服务往往有状态(模型加载、KV 缓存)
  • 高可用需考虑“发布、扩容、硬件故障、网络故障”

🔧 核心内容

1) 高可用拓扑

  • 多副本 + HPA
  • 多可用区/多机房(有条件)
  • 网关熔断与降级路径(如改小模型/短上下文)

2) 故障演练

  • 定期注入失败:提升团队响应
  • 演练场景:GPU 故障、网络隔离、模型下载失败

3) 容灾

  • 冷/温/热备:成本 vs 恢复时间
  • 切换策略:DNS/网关层/服务发现

💡 实战示例:熔断降级

javascript
if (latency_p95 > 2000 || error_rate > 0.05) route = 'small-model'

📊 对比/取舍(速查)

  • 成本 vs 恢复时间:热备最快、成本最高
  • 可用性 vs 一致性:视业务选择

🧪 踩坑与经验

  • 无演练导致真正故障时手忙脚乱
  • 无降级导致全量超时

📎 参考与延伸

  • 混沌工程、SLA/SLO
  • 网关熔断/降级实践

💭 总结

  • 以“多副本 + 演练 + 容灾 + 熔断/降级”建立高可用防线