3. MTTR 复盘口径定义

在蓝绿发布场景中,MTTR(Mean Time to Repair,平均修复时间) 并非单纯指“代码回滚时间”,而是从故障被感知到流量完全恢复至正常版本的全链路耗时。只有统一 MTTR 的复盘口径,团队才能准确评估发布系统的韧性,并针对性地优化 HPA 参数与资源争抢策略。

3.1 蓝绿发布中 MTTR 的特殊含义

传统 MTTR 通常面向单点故障修复;而在蓝绿发布中,MTTR 聚焦于流量切换异常或资源争抢导致的服务降级场景。其核心差异如下:

维度 传统 MTTR 蓝绿发布 MTTR
故障对象 单台服务器 / 进程 整个绿(或蓝)版本集群
修复动作 重启 / 回滚单个实例 全量流量切换 + 版本回退 + 资源回收
主要瓶颈 诊断时间 资源争抢解除 + HPA 冷却等待
验证标准 进程存活 全量请求成功率 > 99.9% + P99 延迟恢复
关键认知: 蓝绿发布中的 MTTR 必须包含“资源争抢解除”阶段,否则 HPA 过度弹性伸缩可能导致二次故障,使 MTTR 无限延长。

3.2 MTTR 的四个阶段

我们将 MTTR 拆解为四个连续阶段,每个阶段都有明确的起止标志和复盘指标。以下为各阶段的定义与典型耗时分布:

  1. 检测(Detection) — 从故障发生到监控系统发出告警。
  2. 诊断(Diagnosis) — 从告警触发到定位根因(如资源争抢、HPA 配置错误)。
  3. 修复(Repair) — 从确定修复方案到流量完全切换至健康版本。
  4. 验证(Verification) — 从流量切换完成到确认服务指标全面恢复。
复盘建议: 在故障复盘时,分别统计四个阶段的耗时,而非只关注总 MTTR。通常“诊断”和“修复”阶段占比最高,是 HPA 参数优化的重点突破口。
MTTR 四阶段流程与关键指标 ① 检测 Detection 告警触发 ② 诊断 Diagnosis 根因定位 ③ 修复 Repair 流量切换 ④ 验证 Verification 指标恢复 各阶段复盘关键指标: • 检测:告警延迟(秒) → 目标 < 30s • 诊断:MTTD(平均诊断时间) → 目标 < 3min • 修复:切换耗时 + 资源回收时间 → 目标 < 5min • 验证:成功率 > 99.9% + P99 延迟恢复至基线 → 持续观察 2min

3.3 各阶段详细定义与复盘口径

3.3.1 检测阶段

  • 起始点:故障实际发生时间(基于用户请求失败率突增或资源争抢触发)。
  • 终止点:监控系统(Prometheus + Alertmanager)发出告警。
  • 复盘口径:检测延迟 = 告警时间 - 故障发生时间。若检测延迟 > 60s,说明 HPA 指标采集周期或告警规则灵敏度不足。

3.3.2 诊断阶段

  • 起始点:告警触发。
  • 终止点:运维人员确认根因为“资源争抢”或“HPA 参数异常”。
  • 复盘口径:MTTD(Mean Time to Diagnose)。常见根因分类:
    — 资源争抢(CPU/内存/连接池)
    — HPA 过度弹性(频繁扩缩容)
    — 版本兼容性(流量切换后协议不匹配)

3.3.3 修复阶段

  • 起始点:确定修复方案(如回滚流量至蓝版本、调整 HPA 最大副本数)。
  • 终止点:流量 100% 切换至健康版本,且旧版本资源完全释放。
  • 复盘口径:修复耗时 = 流量切换时间 + 资源回收时间。其中资源回收时间受 HPA 冷却窗口(stabilizationWindowSeconds)直接影响。

3.3.4 验证阶段

  • 起始点:流量切换完成。
  • 终止点:连续 2 分钟内请求成功率 > 99.9%,P99 延迟恢复至故障前基线。
  • 复盘口径:验证耗时 = 指标恢复时间 - 切换完成时间。若验证耗时过长,需检查 HPA 是否仍在震荡。
常见误区: 很多团队将“修复阶段”仅定义为“回滚代码”,忽略了“资源回收”和“HPA 冷却等待”时间。这会导致 MTTR 被低估,HPA 参数优化方向错误。
MTTR 四阶段时间线示例(10 分钟故障) T0 T+2min T+5min T+8min T+10min 检测 (2min) 诊断 (3min) 修复 (3min) 验证 (2min) 总 MTTR = 10min(检测 2min + 诊断 3min + 修复 3min + 验证 2min)

3.4 MTTR 复盘口径总结表

阶段 起始事件 终止事件 复盘指标 HPA 关联点
检测 故障发生 告警触发 检测延迟 < 30s 指标采集周期、告警规则
诊断 告警触发 根因确认 MTTD < 3min HPA 事件日志、资源争抢图谱
修复 方案确定 流量切换 + 资源回收 修复耗时 < 5min 冷却窗口、最大副本限制
验证 切换完成 指标恢复 验证耗时 < 2min HPA 稳定性、弹性震荡检测
实战要点: 在蓝绿发布复盘报告中,必须按上述四阶段分别填写耗时,并标注每个阶段中 HPA 参数是否成为瓶颈。例如:“诊断阶段耗时 8min,其中 5min 用于排查 HPA 过度弹性导致的资源争抢”。只有这样的复盘口径,才能驱动 HPA 参数的有效优化。