Google 是怎么解决长尾延迟问题的

本文探讨Google如何解决大规模在线服务中的长尾延迟问题,分析了长尾延迟的原因,包括共享资源、守护程序、全局资源共享、维护活动等,并提出了解决方案,如服务分级、减少队头阻塞、对冲请求、微分区等,以改善用户体验。
摘要由CSDN通过智能技术生成

The Tail at Scale,是 Google 2013 年发表的一篇论文,大规模在线服务的长尾延迟问题。

要知道怎么解决长尾问题,先要理解长尾延迟是个什么问题,在开发在线服务的时候,我们都知道要关注服务的 p99/p999 延迟,要让大部分用户都能够在预期的时间范围内获得响应。

下面是一个不同响应时间的请求数分布图:

长尾响应延迟
大部分系统也都遵循这种分布规律,现在互联网的系统规模比较大,一个服务依赖几十上百个服务的情况都是有可能的。单一模块的长尾延迟会在有大量依赖的情况下,在服务粒度被放大,《The Tail at Scale》论文里给出了这样的例子。

考虑一个系统,大部分服务调用在 10ms 内响应,但 99 分位数的延迟为 1 秒。如果一个用户请求只在一个这样的服务上处理,那么 100 个用户请求中只有一个会很慢(一秒钟)。
这里的图表概述了在这种假设的情况下,服务级别的延迟是如何被非常小概率的大延迟值影响的。

在这里插入图片描述

如果一个用户请求必须从100个这样的服务并行收集响应,那么 63% 的用户请求将需要超过一秒钟(图中标记为 “x”)。
即使对于只有万分之一概率在单台服务器上遇到超过一秒的响应延迟的服务,如果服务的规模到达 2000 实例的话

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值