Uber大型分布式系统可靠性运维实践(12)

SLO、SLA和报告

SLO , (Service Level Objectiv , 服务等级目标) , 及系统可用性的数字目标 。 对于每个独立服务 , 定义服务级SLO(如容量 , 延迟 , 准确性和可用性目标)都是很好的做法 。 然后可以把这些SLO当做告警的触发器 。 下面是一个服务级SLO的示例:

容量 最小吞吐量 500 req/sec

最大预期吞吐量2500 req/sec

延迟 预期中间响应时间为50-90ms

预计p99响应时间为500-800ms

准确度 最大错误率 0.5%

可用性 正常运行时间 99.9%

业务级SLO或功能SLO是在服务上的抽象 。 它们涵盖面向用户或面向业务的指标 。 例如 , 业务级SLO可能是这样的:期望在旅行完成后1分钟内发送99.99%的电子邮件收据 。 该SLO可能映射到服务级别的SLO(例如 , 支付和电子邮件收据系统的延迟) , 或者可能需要以不同方式进行测量 。

SLA , (Service Level Agreement , 服务等级协议) , 是服务提供商和服务消费者之间更广泛的协议 。 通常 , 多个SLO构成SLA 。 例如 , 99.99%可用的支付系统可以是SLA , 它可以分解为每个支持系统的特定SLO 。

推荐阅读