Skip to content

SLO、错误预算与恢复目标 ​

可用性指标、SLO与错误预算 ​

前置:理解请求成功/失败、延迟阈值、比例和统计窗口;Python 3.10+ 用于请求预算计算。教学范围为请求型SLI/错误预算;SRE Workbook2018;Python 3.10+。核对日期2026-10-17。示例未执行,本轮没有安装依赖、生成协议代码、启动服务或浏览器预览。完整文件与输入见请求预算计算器与准入模型;推演结论只适用于写明的模型。

可用性分母如何选 ​

可用性分母如何选先定义有效请求与好事件。例如教学规则把观测日志中eligible=true的请求作为分母,其中成功且耗时不超过300毫秒为好事件。没有流量时比例未定义,不能默认100%;缺日志也不是没有失败,要另查采样与观测完整性。

SLO与错误预算 ​

SLO与错误预算连接业务目标和工程取舍。目标99.9%表示允许坏事件比例0.1%,一百万有效请求预算1000个坏事件。请求预算不能随意换算为每月固定停机分钟,除非明确按时间窗口而非请求计量,并处理流量不均等假设。

串联依赖与独立假设 ​

串联依赖与独立假设必须一起写:若两个依赖都必须成功,且故障独立,联合概率可相乘。共用机房、身份系统或发布流程会使故障相关,简单乘法与双副本并联公式可能过分乐观;复制数量不是可用性的直接证明。

先定义有效事件再算预算 ​

1000条日志中若100条不符合预先约定的有效请求口径,分母就是900;排除规则必须在看结果前确定,不能为了提高达标率删掉慢请求。图中成功与延迟共同决定好事件,失败且超时仍只算一个坏事件;零分母时比例未定义。

查看图表代码

来源与适用边界 ​

恢复目标、延迟分位数与测量边界 ​

RTO与RPO边界 ​

RTO与RPO边界分别描述恢复时间目标与可接受的数据损失窗口。备份存在不证明能在RTO内恢复,复制也可能同步传播误删除。恢复设计要写出隔离副本、恢复步骤与数据核验;本课只给理论推演,没有演练证据。

分位数与平均值 ​

分位数与平均值回答不同问题。平均延迟低可能隐藏少量尾延迟极高的请求,p99依赖观测窗口与样本量;各机器p99不能直接平均成全站p99。必须聚合原始分布或兼容直方图,并记录排除请求的规则。

可用性资料与模型 ​

可用性资料与模型用Google SRE原书定义SLI、SLO和错误预算,微软中文官方断路器文档交叉比较故障保护。历史韧性示例保留库配置用途;本课不声称其阈值适合当前服务,也没有启动依赖或执行故障注入。

恢复时间与数据缺口分别验收 ​

设故障发生于12:00,最近可用恢复点为11:55,服务在12:20恢复,则这次恢复耗时20分钟,数据回退窗口为5分钟。它们分别与RTO和RPO目标比较;恢复后还要检查关键业务数据,而非仅检查进程存活。下图是人为设定的推演,不是演练结果。

查看图表代码

来源与适用边界 ​

继续阅读