首页/开发/CI/CD 与发布速查/故障演练日(Game Day)
质量门禁与回滚51 条

故障演练日(Game Day)

有组织地向系统注入故障(依赖中断、实例淘汰、慢查询等),验证检测、响应与回滚链路;在可控时间窗内发现真实的薄弱点。

CI/CD 与发布速查开发更新于 2026-10-13

故障演练日是什么

故障演练日(Game Day)是有组织的故障注入实践:在约定的时间窗内,向系统注入依赖中断、实例淘汰、慢查询等故障,验证检测、响应、处置与回滚链路是否真实可用。它不是制造事故,而是用可控演练把薄弱点曝露在安全时段;每条演练都要有明确范围、中止开关与观察指标。

基本信息

形式计划性演练:明确范围、时间窗与回退开关
注入流量消减、依赖故障、实例终止等,按风险选择
观测检测时间、响应动作、恢复时长、协作链路
产出改进项进入可靠性待办并指定负责人
参与值班、开发与业务方共同参与,观察人在线
前提中止条件与责任人先明确再开始注入

演练计划要点

演练计划要点
范围:支付链路(预发环境)  # 先小范围
注入:中断第三方支付回调 5 分钟  # 故障类型与时长
预期:熔断生效小于 30s,告警触达值班  # 可验证的预期
观测:检测、响应、恢复三个时间点  # 记录数据
中止开关:立即恢复注入的开关  # 随时可用的刹车

典型使用场景

  • 依赖故障演练:第三方接口超时或中断时的降级路径
  • 容量演练:流量突增时限流与扩容是否生效
  • 实例淘汰:随机终止实例验证自动恢复与调度
  • 数据故障:只读切换、备份恢复耗时验证
  • 协作演练:验证升级链路与沟通是否顺畅
  • 上线前演练:在预发环境把关键链路先练一遍

演练要素与要求

要素要求
范围明确系统、环境与预期影响
中止何时中止、谁有权中止写清楚
预期每个注入都有可验证的预期结果
观测指定观察人与观测面板
复盘演练后限时产出改进项
未设中止条件的演练风险高:先明确回退开关与责任人,再开始注入。
从单点小范围开始:影响面超出预期的注入会把演练变成真实事故。
只练技术不练协作:沟通与升级链路的缺陷依旧,业务方要参与。
演练结果要留档:改进项进待办并跟踪,否则下次演练同一个坑还在。

易错点

  • 一次性大规模注入:影响面超出预期,演练变成真实事故。
  • 只练技术不练协作:沟通与升级链路的缺陷依旧。
  • 没有中止开关:问题失控时无法快速止损。
  • 演练结果不留档:改进项流失,同样的薄弱点下次还在。
  • 演练变考核:参与者隐藏问题,演练失真。

数据来源与参考

  • Google SRE Workbook《Disaster Recovery》
  • AWS《Well-Architected Framework》(可靠性)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌