共计 1017 个字符,预计需要花费 3 分钟才能阅读完成。
为了量化客户对服务可靠性的冀望,找到客户对可靠性称心的点,咱们须要制订针对用户的服务质量指标,并且致力去达到这个品质指标。在这个过程中,咱们须要定义一些服务质量指标(SLI)、服务质量指标(SLO),以及服务质量协定(SLA)。这三项别离是指该服务最重要的一些根底指标、这些指标的预期值,以及当指标不合乎预期时的应答打算。
一、服务质量术语:SLI、SLO、SLA
指标
服务质量指标(SLI):服务的某项服务质量的一个具体量化指标。常见的 SLI 包含申请提早(解决申请所耗费的时)、错误率(申请解决失败的百分比)、零碎吞吐量(每秒申请数量)、可用性(服务可用工夫的百分比,运维行业常常用 9 的数量来形容可用水平。例如,99% 可用性被称为“2 个 9”,99.999% 被称为“5 个 9”)。SLI 也能够是一些业务指标,例如用户投诉率之类的。重点是可量化、可确定的。
指标
SLO 是服务质量指标(Objective):服务的某个 SLI 的目标值,或者指标范畴。SLO 的定义是 SLI≤目标值,或者范畴上限≤SLI≤范畴下限。例如,对于搜寻服务来说,用户心愿返回后果的速度应该是很“快”的,那么咱们能够定义一个 SLO,要求搜寻申请的均匀提早小于 100ms。
协定
SLA 是服务质量协定(Agreement):指服务与用户之间的一个明确的,或者不明确的协定,形容了在达到或者没有达到 SLO 之后的结果。这些结果能够是财务方面的退款或者罚款,也能够是其余类型的结果。区别 SLO 和 SLA 的一个简略办法是问“如果 SLO 没有达到时,有什么结果?”,如果没有定义明确的结果,那么咱们是在探讨一个 SLO,而不是 SLA。
二、SLI、SLO、SLA 制订准则
1、以用户体验为核心
服务的服务质量指标有很多,不可能将监控零碎中的所有指标都定义为 SLI。只有了解用户对系统的实在需要能力真正决定哪些指标是否有用。
比方对于搜寻服务,用户通常关怀可用性、提早,以及吞吐量。换句话说:是否能失常解决申请?每个申请破费的工夫是多少?多少申请能够被解决?对于存储系统来说,用户会关注提早、可用性和数据持久性,换句话说:读写数据须要多少工夫?咱们是否能够随时拜访数据?数据是否一段时间内还能被读取?
2、不自量力
资源是无限的,在抉择 SLO 时要留神不能过于谋求完满。例如 1s 内加载好用户就很称心了,如果非要设置 20ms 内加载结束、或者成功率为 100%,这些都是很难达到或者要付出很大的老本才行,投入产出比很低。