--- id: error-budget title: "Error Budget(错误预算)" type: concept tags: [sre, reliability, availability] last_updated: 2026-04-19 --- ## Definition Error Budget(错误预算)是系统在不影响客户的前提下可以不可靠的最大时间量。它弥合了开发与运维之间的鸿沟,将失败正常化为开发过程的一部分。 ## Calculation ``` Error Budget = 1 - 可用性 SLO ``` 例如: - 99.9% SLO → 0.1% Error Budget - 99.99% SLO → 0.01% Error Budget 完美可用性是 100%,Error Budget 落在 SLO 和 100% 之间。 ## Usage - **在预算内**:开发者可以承担更多风险,快速交付功能 - **超出预算**:开发者必须做出更保守的选择,优先保证稳定性 ## Measurement - [[SLI(服务等级指标)]]:可靠性的可量化度量指标 - [[SLO(服务等级目标)]]:服务应该达到的性能/可靠性目标 - [[SLA(服务等级协议)]]:客户级别的正式协议 ## Importance 1. **监控能力**:快速显示 Error Budget 是否未充分利用或已超出 2. **小幅度变更**:小迭代变更和充分测试的部署是管理 Error Budget 的关键 3. **混沌工程**:通过故意引发故障测试系统韧性,确保满足 NFR ## Relationship - [[SRE]] ← uses ← Error Budget - Error Budget ← derives ← [[SLO(服务等级目标)]] - [[SLO(服务等级目标)]] ← measures ← [[SLI(服务等级指标)]] ## References - [[CTP Topic 41 NFR's and Error Budgets]] — Error Budget 概念详解 - [[Brendan Standing]] — Micro Focus SRE 负责人 - [[NFR(非功能需求)]] — Error Budget 服务的目标