1. SLO 与 Error Budget 基础概念

在基于 Error Budget 驱动的优先级调度策略中,SLO(Service Level Objective,服务等级目标)、SLI(Service Level Indicator,服务等级指标) 和 Error Budget(错误预算) 是三大核心支柱。理解三者之间的定义与关系,是构建可靠调度系统的前提。

1.1 核心定义

术语 英文全称 定义 典型示例
SLO Service Level Objective 服务等级目标,是团队承诺的服务可靠性阈值,通常以百分比形式表示。 99.9% 的请求在 200ms 内完成
SLI Service Level Indicator 服务等级指标,是实际测量服务质量的量化指标,用于评估是否满足 SLO。 请求延迟 P99 = 180ms
Error Budget Error Budget 错误预算,是 SLO 允许的最大不可用时间或错误率,计算公式为:1 - SLO。 99.9% SLO → 每日允许 86.4 秒不可用
关键理解: SLO 是目标,SLI 是测量值,Error Budget 是 SLO 与 100% 之间的“容错空间”。三者构成闭环:SLI 持续测量 → 对比 SLO → 计算剩余 Error Budget → 驱动决策。

1.2 三者的核心关系

三者的关系可以用一个简单的公式表达:

Error Budget = 1 - SLO

实际消耗 = 1 - SLI

剩余 Error Budget = SLO - SLI

当 SLI 持续高于 SLO 时,Error Budget 处于盈余状态,团队可以安全地进行新功能发布、作业调度等操作;当 SLI 接近或低于 SLO 时,Error Budget 耗尽,必须暂停非关键变更,优先执行稳定性保障作业。

1.3 关系流程图

SLO / SLI / Error Budget 核心关系图 SLO 服务等级目标 例:99.9% 可用性 SLI 服务等级指标 例:P99 延迟 180ms Error Budget 错误预算 例:每日 86.4 秒 定义目标 计算偏差 反馈驱动:预算耗尽 → 暂停变更 核心公式与决策逻辑 • Error Budget = 1 - SLO(总容错空间) • 实际消耗 = 1 - SLI(已使用的容错) • 剩余预算 = SLO - SLI(剩余可用容错) • 当剩余预算 > 0:可执行非关键作业;当剩余预算 ≤ 0:仅执行稳定性保障作业

1.4 典型场景对比

场景 SLO SLI(实际测量) Error Budget 状态 调度决策
稳定期 99.9% 99.95% 盈余(剩余 0.05%) 可执行低优先级作业
临界期 99.9% 99.90% 持平(剩余 0%) 仅执行关键作业
故障期 99.9% 99.80% 耗尽(超支 0.1%) 停止所有非恢复作业
实践要点: Error Budget 不是“惩罚机制”,而是决策信号。在 SRE 实践中,Error Budget 的剩余量直接决定作业调度的优先级——预算越充足,越可以执行探索性、优化性作业;预算越紧张,越应聚焦于稳定性保障。

1.5 作业优先级与 Error Budget 的映射

在调度策略中,Error Budget 的状态直接映射为作业优先级等级:

  • 绿色区(预算充足 > 50%): 允许执行所有作业,包括低优先级批处理、实验性任务。
  • 黄色区(预算紧张 10% ~ 50%): 仅允许执行中高优先级作业,暂停低优先级任务。
  • 红色区(预算耗尽 < 10%): 仅允许执行 P0 级故障恢复和稳定性保障作业。

这种映射关系使得调度系统能够自动、动态地调整作业执行顺序,无需人工干预,从而实现“可靠性优先”的自动化运维。