概述
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 迭代速度"不再是口角之争,而是可量化的工程决策。
实践建议
- 从核心服务开始:不要试图一次性定义所有服务的 SLO
- 先粗糙后精细:初始 SLO 可以基于历史数据粗略设定,逐步迭代
- 定期回顾:每月 review SLO 达成情况,调整不合理的指标
- 自动化告警:基于错误预算消耗速率设置告警,而非固定阈值
总结
SLI/SLO/错误预算构成了 SRE 的度量基石。没有度量就没有管理——这正是 SRE 区别于传统运维的核心。