SRE中的SLA/SLO/SLI

科技资讯 投稿 7100 0 评论

SRE中的SLA/SLO/SLI

SLA通俗理解

    SLI,服务质量指标,服务的某项质量的一个具体的量化指标,如时延、吞吐量、错误率等。
  • SLO,服务质量目标,服务的某项 SLI 的具体目标值,或者目标范围,如 99% 访问延迟 < 500ms。
  • SLA,服务质量协议,描述在服务不达 SLO 情况下的后果,可简单理解为 “SLA = SLO + 后果(惩罚)”。

由于SLA是交付给客户的协议,因此 SLA 中的 SLO 是需要可直观被用户感知的,直接影响用户体验的,这是 SLA 隐含的应有之义。

因此,计算 SLA 主要在于定义服务不同维度的 SLI,根据不同 SLI 设计合理 SLO,并经时间段采集、计算汇总得出每个 SLO 不达标时间,进而计算服务所有 SLO 总的不可用时间,利用总时间与所有 SLO 不可用时间差值与比值,得出服务最终的 SLO。

SLO 计算模型

可用性 = 系统正常运行时间 / 统计周期内的总时间

 

可用性 = 系统达标时间 / 统计周期内的总时间

 

看一个示例:

SLO1 = 1 - T2/(T1+T2+T3+T4
 
SLO2 = 1 - T3/(T1+T2+T3+T4

 

SLO = 1 - (T2+T3/(T1+T2+T3+T4

 

开放服务 SLA 建设

问题定义

    如何定义开放服务的 SLI、SLO,是否能基本表征服务质量?
  1. 采集对应 SLO 所需元数据并计算
  2. SLO 不达标时,快速定位原因,并驱动服务质量提升

 

服务SLI

服务重点关注性能和可用性,结合集团内部其他衡量案例,采用 可用率(失败率)和响应时间作为SLI。

可用率

available = count(2XX / (count(2XX + count(5XX - count(noise

 

计入开放服务 SLO 的特殊情况:

    网关等待服务响应超时(10s)会返回给客户端 503,这是 网关层做的安全管控,可理解为:服务性能问题、网络故障、服务故障等,这部分会记入开放服务 SLO
  • 开放接口转发规则配置出错导致503,后期网关可在开放接口发布流程上做强管控尽可能避免此类问题发生
  • 请求body过大(超过521KB)的拦截、大响应(超过2M)拦截

    网关认证中心错误,如超时、服务不可用

不计入 SLO 的特殊情况:

    网关与服务长连接超时问题导致返回503,网关调用HTTP服务失败,这种情况一般是业务的HTTP长连接空闲配置与网关不一致导致, 网关为60秒空闲自动关闭连接,如果业务方服务的空闲时间小于60秒就会导致这个问题,原理参考:https://segmentfault.com/a/1190000021704869
  • 限流(理论上是网关的保护逻辑,不应计算在可用率内),包括主动限流 + 被动限流,每个开放接口默认500QPS,超过即限流;提供业务侧主动限流,定向防刷

因此需消除已上噪音才能相对准确反应开放服务可用率。

响应时间

响应时间采用如下策略:

    服务大盘使用历史 TP<90> 分位数作为标杆值,计算 SLO
  1. 重点接口使用约定指标,限定计算

最后

基于服务每个月的 SLA,可总体了解服务的性能及稳定性。同时基于不满足 SLO 的时间片,通过 sls 关联分析以及网关日志回溯,找到影响指标的接口,每周生成报表推送给对应服务负责人进行整改。

附件:

网关服务等级协议

本服务等级协议(Service Level Agreement,简称 “SLA”)规定了网关向客户提供的 API 网关的服务可用性等级指标及赔偿方案。

1. 定义

有效请求:网关接收到的所有请求,视为有效请求。

(1因用户配置问题导致的 API 调用失败;

(3因用户登录态失效导致的 API 调用失败;

每15秒错误率:以15秒为单位按照如下方式计算错误率:

月度服务费用:客户在一个自然月中就API网关服务所支付的服务费用总额。以代金券结算不计入月服务费用。

2.1 服务可用性计算方式

服务可用性=(1-服务周期内Σ每15秒错误率/服务周期内15秒总个数)x1

2.2 服务可以用性承诺

服务类型

网关代理服务

如网关未达到上述可用性承诺,客户可以根据本协议第3条约定获得赔偿。赔偿范围不包括以下原因所导致的服务不可用:

(2)用户的应用程序或数据信息受到黑客攻击而引起的;

(4)不可抗力以及意外事件引起的;

3. 赔偿方案

 

 

编程笔记 » SRE中的SLA/SLO/SLI

赞同 (39) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽