。SLI,Service Level Indicator,服务等级指标,其实就是我们选择哪些指标来衡量我们的稳定性。而 SLO,Service Level Objective,服务等级目标,指的就是我们设定的稳定性目标,比如“几个 9”这样的目标。
。SLI,Service Level Indicator,服务等级指标,其实就是我们选择哪些指标来衡量我们的稳定性。而 SLO,Service Level Objective,服务等级目标,指的就是我们设定的稳定性目标,比如“几个 9”这样的目标。
https://time.geekbang.org/column/article/215004
接下来我给你讲一个具体的例子,讲完后,你肯定就能理解了。
我们以电商交易系统中的一个核心应用“购物车”为例,给它取名叫做 trade_cart。trade_cart 是以请求维度来衡量稳定性的,也就是说单次请求如果返回的是非 5xx 的状态码,我们认为该次请求是成功的;如果返回的是 5xx 状态码,如我们常见的 502 或 503,我们就判断这次请求是失败的。
但是,这个状态码只能标识单次请求的场景。我们之前讲过,单次的异常与否并不能代表这个应用是否稳定,所以,我们就要看在一个周期内,所有调用次数的成功率是多少,以此来确定它是否稳定。比如我们给这个“状态码返回为非 5xx 的比例”设定一个目标,如果大于等于 99.95%,我们就认为这个应用是稳定的。
在 SRE 实践中,我们用 SLI 和 SLO 来描述。“状态码为非 5xx 的比例”就是 SLI,“大于等于 99.95%”就是 SLO。说得更直接一点,SLO 是 SLI 要达成的目标。