SLIs、SLOs、SLAs:SRE 的秘密配方指南

发布: (2026年2月11日 GMT+8 09:53)
4 分钟阅读
原文: Dev.to

Source: Dev.to

如果你想成为一名 SRE——真正的站点可靠性巫师,就必须掌握这门行业的语言。它不是“安装 Prometheus”或“部署 Kubernetes”。而是 SLI、SLO、SLA 和错误预算——保持服务存活、让老板不再盯着你的三位一体。

Service Level Indicator (SLI)

SLI 就是你服务的“街头八卦”:它告诉你从用户视角看服务到底是怎么表现的,而不是某个技术指标图表。

  • Latency SLI – 用户的社交媒体信息流加载有多快?
  • Error‑rate SLI – 有多少帖子加载失败或报错?
  • Availability SLI – 你的 API 完全不可用的频率是多少?

用户不在乎 CPU 负载、内存使用或线程池,这些指标与他们无关。SLI 才是人们关心的数字;它们是你的现实检验。把 SLI 当作服务的脉搏——脉搏下降,麻烦就要来了。

Service Level Objective (SLO)

SLO 是你(或团队)对可接受水平的承诺。

  • 示例 1:99.9 % 的结账 API 请求应在 500 ms 以内完成。
  • 示例 2:99 % 的社交媒体信息流帖子应在首次请求时正确加载。

这不是追求完美,而是“足够好”。追求 100 % 的可用性成本高得离谱。没有人关心完美;SRE 关注的是可管理的可靠性。

Service Level Agreement (SLA)

SLA 是你与付费用户之间的法律合同。若违约,用户可以要求退款或赔偿。

  • 示例 1:“如果结账 API 的可用性在一个月内低于 99.5 %,我们将退还交易费用。”
  • 示例 2:“如果社交媒体信息流的错误率在本月超过 0.5 %,我们将补偿高级用户。”

SLA 是 SLO 的成人版——此时律师会介入。你的内部指标(SLI、SLO)是用来避免 SLA 违约的工具。

Error Budgets

每个 SLO 都伴随一个错误预算。

  • 示例:99.9 % 的结账请求在 < 500 ms 内完成的 SLO,意味着你拥有 0.1 % 的错误预算。这个 0.1 % 就是你在出现问题前可以容忍的失败比例。

错误预算是决策工具:

  • 已用完错误预算? 停止高风险部署,专注于稳定性。
  • 仍在错误预算范围内? 推出新功能,进行可控风险的尝试。

错误预算帮助你在速度与可靠性之间取得平衡,把灭火工作转化为智能的部署决策。

Core Truths

概念含义
SLI当前到底有多糟糕?
SLO多糟糕是可以接受的?
Error Budget在彻底崩溃前,我能容忍多少失败?
SLA我能闹到多少程度会被起诉?

为什么作为 SRE 你要在乎这些

  • 先测量,再修复。
  • 关注用户可见的指标。 CPU 峰值无关紧要;延迟和错误率才是全部。
  • 接受失败。 系统会出故障,但错误预算让你能够生存并快速部署。
  • 自动化预防。 重复的灭火工作只适合菜鸟。
0 浏览
Back to Blog

相关文章

阅读更多 »