错误预算的消耗策略与行动纲领
概述 错误预算(Error Budget)是 SRE 体系中最精妙的机制设计。它把"稳定性 vs 迭代速度"这个长期依赖口水战的矛盾,转化为一个可量化的工程决策框架:你的系统有一个"不可用额度",花完了就得停下来修。 但实践中,很多团队定义了 SLO 和错误预算之后,就止步于仪表盘上展示一个百分比数字。预算耗尽时该怎么办?快耗尽时要采取什么行动?预算富裕时可以做什么?这些关键问题如果没有明确的策略,错误预算就只是一个好看的数字,而非真正驱动行为的工具。 详细梳理错误预算的消耗状态模型、每种状态对应的行动纲领、发布冻结的标准与流程、预算滚存与重置策略、跨团队协调机制,并配以实战案例。 本文假设读者已了解 SLI/SLO/错误预算的基本概念。如需补充,可参考 Google SRE Book - Embracing Risk 和本站 SRE核心理念:SLI、SLO与错误预算。 一、错误预算的工程本质 不只是"还剩多少额度" 很多人把错误预算理解为"这个月还能宕机多少分钟"。这只是表面理解。错误预算的工程本质是: 错误预算是创新速度与系统稳定性之间的自动调节阀。 它回答了一个在所有工程团队都存在但很难回答的问题:我们现在应该更激进地发布新功能,还是应该停下来提升稳定性? 预算充裕 → 系统足够稳定,可以承担更多变更风险 → 加速发布 预告耗尽 → 系统已经接近可靠性边界 → 减速发布,专注稳定性 这个调节是自动的、基于数据的、不依赖个人判断和政治博弈的。 错误预算的计算 SLO = 99.9%(30天窗口) 错误预算 = (1 - SLO) × 时间窗口 = 0.1% × 43200 分钟 = 43.2 分钟/月 已消耗预算 = 实际不可用时间 剩余预算 = 43.2 - 已消耗时间 预算消耗率 = 已消耗预算 / 总预算 但"不可用"的判定不只是"服务完全宕机"。任何 SLI 违规都消耗预算:...