一、系统可靠性
SRE是判断系统是否可靠、可用、有效重要标准,它包括:
- 服务水平指标SLI:衡量服务使用情况量化指标。 比如IO读写速率、网络延迟。通常量化指标会转换为比率、平均值或百分比。
- 服务水平目标SLO:一段时间、区间内的目标。 SLO的表达式通常为: SLI <= target 或 lower bound ≤ SLI ≤ upper bound。比如SLO可以为每个请求的平均延迟<=10ms。
- 服务水平协议SLA:测量指标应与商业目标密切相关。
稳定性99.99% 和 99.999% 在大部分情况下对用户体验差异不大,但每增加一个9,会显著增加成本。
基于时间的可用性=可用时间/总时间,但该指标通常意义不大。比如某订单系统在7天内有1小时不可用,其影响将是致命的。
基于成功率的可靠性=成功请求数/总请求数。选择何种可靠性级别主要依赖于用户风险承受能力,在创新和可靠性之间找到恰当的平衡。
度量建模首先需要对指标进行标准化,比如聚合间隔、聚合区域、测量频率、包括哪些请求、如何获取数据以及数据访问延迟。进行度量选择时,应关注用户关心的内容,而不是能够衡量的内容。关注标准化指标时,需关注SLI分布而不是平均值。