1. SLO 基础概念:什么是 SLO、SLI、SLA
在可靠性工程与密码学签名校验场景中,SLO(Service Level Objective)、SLI(Service Level Indicator) 与 SLA(Service Level Agreement) 是三个核心度量术语。它们共同构成了服务可靠性的量化管理框架,也是后续签名证据校验流程中定义“是否达标”的基准。
1.1 核心定义
| 术语 | 英文全称 | 定义 | 典型示例 |
|---|---|---|---|
| SLI | Service Level Indicator | 服务水平的量化指标,直接测量服务的某个维度(如延迟、错误率、吞吐量)。 | 请求延迟 P99 ≤ 200ms |
| SLO | Service Level Objective | 服务提供方为自己设定的目标阈值,是 SLI 的目标值,代表“期望达到的可靠性水平”。 | 99.9% 的请求延迟 ≤ 200ms |
| SLA | Service Level Agreement | 服务提供方与用户之间的正式合同,包含 SLO 及未达标时的惩罚条款。 | 若低于 99.9% 则赔偿 10% 月费 |
关键区分: SLI 是“测什么”,SLO 是“目标是多少”,SLA 是“做不到会怎样”。在签名校验场景中,SLO 定义了校验成功率、响应时间等指标的容忍边界。
1.2 三者的区别与联系
三者构成一个从测量 → 目标 → 契约的递进关系。没有 SLI 就无法定义 SLO,没有 SLO 就无法签订有意义的 SLA。
- SLI → SLO: 基于 SLI 的历史数据设定合理的 SLO 目标值。
- SLO → SLA: SLA 通常引用 SLO 作为承诺指标,但 SLA 的阈值往往比内部 SLO 更宽松(留出安全缓冲)。
- SLA 的约束力: SLA 具有法律/商业后果,而 SLO 是内部工程管理工具。
实战经验: 在签名证据校验系统中,建议将内部 SLO 设置为 99.95%,而对外 SLA 承诺 99.9%,预留 0.05% 的误差缓冲,避免因统计波动触发赔偿。
1.3 SLO 在可靠性工程中的重要性
SLO 是可靠性工程的核心管理杠杆。没有 SLO,团队容易陷入“100% 可用性”的不可实现追求,或对故障缺乏量化判断标准。
- 量化可靠性: 将模糊的“系统稳定”转化为可度量的数字(如 99.9% 请求成功)。
- 错误预算(Error Budget): SLO 定义了可接受的故障时间窗口,团队据此决定发布节奏与运维优先级。
- 驱动决策: 当 SLI 接近 SLO 边界时,自动触发告警、限流或签名校验降级策略。
- 证据校验锚点: 在密码学签名证据校验中,SLO 是判断“签名验证服务是否达标”的基准线,所有校验报告都需与 SLO 对比。
常见误区: 不要将 SLO 设定为 100%。100% 的目标会导致错误预算为零,任何故障都算违规,反而降低团队对风险的理性管理能力。建议从 99.9% 或 99.99% 开始,逐步调整。
1.4 签名校验场景中的 SLO 示例
在《SLO 签名证据校验》课程中,我们关注以下典型 SLO 指标:
| SLI 名称 | 测量方式 | 建议 SLO | 说明 |
|---|---|---|---|
| 签名验证成功率 | 成功验证次数 / 总请求次数 | ≥ 99.95% | 排除网络与输入错误后的纯算法成功率 |
| 签名验证 P99 延迟 | 第 99 百分位的验证耗时 | ≤ 50ms | 含签名解析、公钥查询、算法运算 |
| 证据完整性校验通过率 | 校验通过数 / 总校验数 | ≥ 99.99% | 针对签名证据的哈希链与时间戳校验 |
| 签名服务可用性 | 服务正常响应时间 / 总时间 | ≥ 99.9% | 对外 SLA 通常设为 99.9% |
1.5 本节小结
- SLI 是测量指标,SLO 是目标阈值,SLA 是商业合同。
- SLO 在可靠性工程中充当决策锚点,驱动错误预算管理与自动运维。
- 在签名证据校验场景中,SLO 定义了验证成功率、延迟、完整性等关键维度的可接受边界。
- 后续章节将基于本节概念,深入讲解如何为签名校验系统设定 SLO、采集 SLI 并生成可审计的签名证据。