概述

SRE(站点可靠性工程)的核心理念是:用工程方法管理可靠性。其中最关键的工具就是 SLI、SLO 和错误预算。

SLI:服务等级指标

SLI 是衡量系统可靠性的量化指标。常见的 SLI 包括:

  • 可用性:成功请求数 / 总请求数
  • 延迟:P99 响应时间 < 200ms
  • 吞吐量:QPS > 10000
  • 正确性:数据一致性校验通过率

选择 SLI 的关键原则:从用户视角出发。用户不关心你的 CPU 使用率,只关心请求是否成功、是否够快。

SLO:服务等级目标

SLO 是 SLI 的目标值。例如:

slo:
  availability:
    target: 0.999        # 99.9% 可用性
    window: "30d"
  latency:
    target: 200           # P99 < 200ms
    window: "30d"

99.9% 的可用性意味着每月允许约 43.8 分钟 不可用。

错误预算

错误预算是 SRE 最精妙的设计:

  • SLO 设为 99.9% → 错误预算 = 0.1%
  • 预算未耗尽:可以发布新功能、做激进变更
  • 预算耗尽:冻结发布,专注稳定性改进

这个机制让"稳定性 vs 迭代速度"不再是口角之争,而是可量化的工程决策。

实践建议

  1. 从核心服务开始:不要试图一次性定义所有服务的 SLO
  2. 先粗糙后精细:初始 SLO 可以基于历史数据粗略设定,逐步迭代
  3. 定期回顾:每月 review SLO 达成情况,调整不合理的指标
  4. 自动化告警:基于错误预算消耗速率设置告警,而非固定阈值

总结

SLI/SLO/错误预算构成了 SRE 的度量基石。没有度量就没有管理——这正是 SRE 区别于传统运维的核心。