2. SLO 基础概念回顾:SLI、SLO、Error Budget 的定义与关系
在深入权限模型设计之前,必须统一团队对 SLO 核心概念的认知。平台工程团队常犯的错误是跳过基础概念直接制定指标,导致 SLI 采集与 SLO 目标脱节。本节用最短篇幅厘清 SLI、SLO、Error Budget 三者的定义、差异与联动关系。
2.1 核心定义速览
| 术语 | 全称 | 一句话定义 | 平台工程场景示例 |
|---|---|---|---|
| SLI | Service Level Indicator | 服务质量的量化测量指标 | API 网关 P99 延迟、控制台页面加载成功率 |
| SLO | Service Level Objective | SLI 的目标阈值,即“好”与“坏”的分界线 | P99 延迟 ≤ 200ms(月度 99.9%) |
| Error Budget | Error Budget | SLO 允许的最大不可用时间或错误次数 | 月度总请求中允许 0.1% 的请求不达标 |
记忆口诀:SLI 是“测什么”,SLO 是“目标值”,Error Budget 是“还剩多少犯错额度”。
2.2 三者的层级关系与数据流
下图展示了从原始观测数据到 Error Budget 消耗的完整链路。平台工程团队在设计权限模型时,必须确保每个环节的数据源、计算逻辑和告警触发点都有明确的归属角色。
2.3 Error Budget 的消耗与恢复机制
Error Budget 不是静态额度,而是随时间滚动的消耗-恢复模型。平台工程团队需要理解其动态特性,才能设计出合理的权限审批策略。
- 消耗方式:每次 SLI 未达到 SLO 阈值,即消耗 Error Budget。消耗量 = 未达标请求数 / 总请求数。
- 恢复方式:时间窗口滚动。例如 30 天滚动窗口,每天旧数据过期,新数据加入。
- 关键阈值:
- ≤ 50% 剩余:正常状态,允许常规变更。
- 50% ~ 20% 剩余:警告状态,变更需审批。
- < 20% 剩余:危险状态,冻结高风险变更。
平台工程实践要点:Error Budget 的消耗速率比值更重要。如果消耗速率持续高于恢复速率,即使当前剩余额度尚可,也应提前触发权限收紧。
2.4 SLI 与 SLO 的典型组合模式
平台工程团队通常为每个服务定义 2~3 个 SLI,每个 SLI 对应一个 SLO。下表列出最常见的组合模式:
| SLI 类型 | 测量方式 | 典型 SLO 目标 | 适用场景 |
|---|---|---|---|
| 请求成功率 | HTTP 2xx / 5xx 比例 | ≥ 99.9% | 控制台、API 网关 |
| 延迟(P50/P99) | 服务端响应时间分布 | P99 ≤ 500ms | CI/CD 流水线、配置下发 |
| 吞吐量 | 每分钟成功请求数 | ≥ 基线值的 90% | 日志采集、事件处理 |
| 数据新鲜度 | 最近一次成功同步时间 | 延迟 ≤ 60s | 权限同步、缓存更新 |
2.5 权限模型设计中的概念映射
在后续章节中,我们将把 SLI/SLO/Error Budget 映射到权限模型的三个核心维度:
常见误区:将 SLI 采集权限与 SLO 修改权限混为一谈。指标查看者不应自动获得阈值修改权,否则 Error Budget 的客观性将丧失。权限模型必须严格分离“观测”与“决策”两个角色。