细说双 11 直播背后的压测保障技术

简介: 阿里云 PTS 站在双 11 巨人的肩膀上,是阿里全链路压测的延伸。PTS 通过伸缩弹性,轻松发起用户百万级别的流量,免去机器、人力成本;PTS 对流量的控制,能够实时脉冲,精准控制; 是应对视频直播快速攀升的流量脉冲的优秀方案。

作者:子矜

“今年 1 月到现在,淘宝直播的用户超过了 5 亿,到 8 月份流量也增长了 59%,在最核心的商家 GMV 上增长了 55%。双 11 是从 10 月 20 日晚开始的,我们希望淘宝直播作为主场去承接这件事情。”日前,淘宝事业群直播事业部负责人程道放在接受 21 世纪经济报道记者采访时透露,过去一年的直播可谓热闹,今年会更加专业化。

1.png

如此大的用户体量下,直播类应用给后端服务带来了一些什么不一样的挑战呢?我们今天来介绍一些直播的架构,以及针对这个架构,给我们的应用架构带来的挑战。

直播的架构

我们通常看到的有下面几种直播:

1. 单人直播,例如淘宝直播,通常伴随着秒杀,弹幕,送火箭等业务逻辑;

2. 多人同时直播,例如连麦,会议;

3. 录播,对于部分直播场景如培训、会议等,需要将现场直播视频保存以进行传播、留存等使用,有对直播进行录制的需求。这种往往对实时性要求不高。

而当用户观看直播时,如果服务接入了 CDN,若接入 CDN,播放端选择就近的 CDN 节点进行拉流播放,此时拉流压力在 CDN;若未接入 CDN,播放端从直播源站进行拉流。

下图是一个比较常见的视频流的架构和两条数据走向:

2.png

1. 视频流推拉逻辑,如蓝色线所示

2. 常规的业务逻辑,如黄色线所示

可以看到有四个主要模块:

1. 推流端:主要的作用在于采集主播的音视频数据推送到流媒体服务端;

2. 流媒体服务端:主要作用在于把推流端传递过来的数据转换成指定格式,同时推送到播放端方便不同播放端用户观看,当然目前云产商也流媒体服务端的一整套解决方案;

3. 业务服务端:主要处理一些常见的业务逻辑,如秒杀,弹幕等等;

4. 播放端:播放端简而言之就是拉取音视频进行播放,把相应的内容呈现给用户。

四个关键的模块的协议其实就是流媒体传输协议。大部分直播的结构都采取上图的格式,较大的区别是是否引入 CDN。一般来说,我们建议客户引入 CDN 来减少直播流量对服务器的冲击。四个模块之间的协议并不着重强调一致性。

接下来,我们沿着这个架构来讨论一下,在这其中比较脆弱的风险有哪些,以及我们如何提早通过压测来排查这些风险点。

直播中的挑战

挑战一:视频流给流媒体服务端的压力

在这个推拉的逻辑中,由于涉及视频的流量较大,经过的路线较长,对流媒体服务器都会造成冲击;通场的做法是引入 CDN,当用户开始收看视频的时候,会先就近去 CDN 拉取流,如果这个时候视频内容还没有缓存在 CDN 的时候,CDN 就回源到流媒体服务端。

但是,风险就存在在瞬间大量用户同时收看 CDN,CDN 大量回源的时候;这种脉冲流量,会给流服务端带来不可预计的效果。

我们通常通过压测来提前验证链路的有效性,甚至可以通过压测,提前把视频在 CDN 预热然而,传统的 HTTP 请求协议是无法支持这种场景的,因为:

1. 即使开源软件 srs_bench,以及 JMeter 都提供了一些插件来使用。但是这些开源软件需要用户对视频协议有比较深入的理解,使用门槛会略微偏高;

2. 视频压测本身对带宽的要求非常高,这就意味压测机器成本比较高;

3. 视频压测需要考虑到地域对传输质量的影响。

针对以上问题,PTS 加入了 RTMP/HLS 协议,并且结合压测场景做了抽象,让用户可以界面化的使用不同协议的压测。

3.png

除此以外,PTS 还提供丰富的编排模式,可以方便自如的对场景进行编排;更重要的是,还可以利用 PTS 全国定制的模式,模拟客户从不同的地方发起请求,更快捷的探测出问题。 

挑战二:低延时的互动协议

和传统的大促不一样,直播往往追求和线下客户的互动。例如弹幕,评论,聊天,秒杀等等。主持人聊的 热火朝天,用户毫无反应,这就是一次失败的直播了。而普通的 HTTP 请求无法满足对时效的需求;因此,通常这些功能用WebSocket来实现的。因为 HTTP 是一种无状态的、无连接的协议,WebSocket 则通过服务端/客户端建立长链,来保证消息的实时性、以及降低性能开销。

每建立一个 WebSocket 连接时,在握手阶段都会发起 HTTP 请求。通过 HTTP 协议协定好 WebSocket 支持的版本号、协议的字版本号、原始地址,主机地址等内容给服务端。报文的关键地方在于 Upgrade 的首部,用于告诉服务端把当前的 HTTP 请求升级到 WebSocket 协议,如果服务端支持,则返回的状态码必须是 101:

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept:xxxxxxxxxxxxxxxxxxxx

有了上述返回,Websocket 连接才建立成功,接下来就是完全按照 Websocket 协议进行了数据传输了。

针对 WebSocket 的通信过程,JMeter 提供了插件来模拟整个过程,但是它也需要用户理解协议的玩法,使用起来相对晦涩。PTS 通过抽象业务含义,用户通过场景配置和施压配置,仅需要配置压测 url 等基本配置、出参设置、检查点设置等几个简单参数,就能够把复杂协议玩起来。

4.png

除了在直播中使用,Websocket 也广泛应用于在线游戏、股票基金、体育实况更新、聊天室、弹幕、在线教育等实时性要求非常高的场景。

挑战三: 高并发的脉冲流量

不同于普通应用,直播类应用的使用时间段非常的集中,因此在这短短几小时之间,会涌入大量的用户,一次大 V 的直播通常就会造成百万级的用户登录,故直播系统对应脉冲流量的能力要求也变得很高。而且在抢货的时候,和传统的秒杀不同,往往是主播进行到某个时间突然发起秒杀的--这个时间往往无法非常精确--同时脉冲流量对系统的要求极高,很多平时不会出现的问题,例如懒加载,jit 预热,冷热数据切换等传统大流量不会出现的问题,都会出现。

这两点特性,要求压测工具能够瞬间发起大流量。这除了需要较多的机器引擎,还需要对流量的有精准控制--满足流量快速攀升的诉求。

而这两点,正是阿里云 PTS 的强项。阿里云 PTS 站在双 11 巨人的肩膀上,是阿里全链路压测的延伸。PTS 通过伸缩弹性,轻松发起用户百万级别的流量,免去机器、人力成本;PTS 对流量的控制,能够实时脉冲,精准控制; 是应对视频直播快速攀升的流量脉冲的优秀方案。

最后

PTS 针对视频、直播行业的变化,对 PTS 支持的协议做了全面升级。它不光支持传统的 HTTP 请求,更是引入了 HTTP 2、流媒体、MQTT 等多种协议,让用户可以 Test Anywhere!

原文链接
本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SpringCloud-Alibaba系列教程】14.一文教你入门RocketMQ

<本文已参与 RocketMQ Summit 优秀案例征文活动&#xff0c;点此了解详情> MQ简介 MQ(Message Queue)是一种跨进程的通信机制&#xff0c;用于消息传递。通俗点说&#xff0c;就是一个先进先出的数据结构。 MQ应用场景 异步解耦 很多场景不使用MQ会产生各个应用见紧密…

独家 | 2021双11背后的数据库硬核科技

简介&#xff1a; 今年双11&#xff0c;阿里云数据库技术有什么不一样&#xff1f; 2021年&#xff0c;是阿里巴巴首个100%云上双11 双11峰值计算成本 相比去年下降50% 作为全球规模最大的数字工程之一 双11无疑是对阿里技术人的“大考” 在又一次技术“严考"面前 …

前沿分享|阿里云资深技术专家 魏闯先:AnalyticDB PostgreSQL年度新版本发布

简介&#xff1a; 本篇内容为2021云栖大会-云原生数据仓库AnalyticDB技术与实践峰会分论坛中&#xff0c;阿里云资深技术专家 魏闯先关于“AnalyticDB PostgreSQL年度新版本发布”的分享。 本篇内容将通过三个部分来介绍AnalyticDB PG年度新版本发布。 一、AnalyticDB PG云原生…

Apache RocketMQ在我司的最佳实践--智慧政务场景下的分布式消息与分布式事务

<本文已参与 RocketMQ Summit 优秀案例征文活动&#xff0c;点此了解详情> 缘起 对于Apache RocketMQ的了解&#xff0c;追溯起来&#xff0c;可以说是从开源初始&#xff0c;就认识到了它。那时候的它&#xff0c;还是个幼年&#xff0c;没有成熟的社区&#xff0c;也…

前沿分享|阿里云数据库资深技术专家 姚奕玮:AnalyticDB MySQL离在线一体化技术揭秘

简介&#xff1a; 本篇内容为2021云栖大会-云原生数据仓库AnalyticDB技术与实践峰会分论坛中&#xff0c;阿里云数据库资深技术专家 姚奕玮关于“AnalyticDB MySQL离在线一体化技术揭秘”的分享。 本篇内容将通过三个部分来介绍AnalyticDB MySQL离在线一体化技术。 一、传统大…

今年双11,阿里业务100%上云

简介&#xff1a; 阿里巴巴业务的研发效率提升了20%、CPU资源利用率提升30%、应用100%云原生化、在线业务容器可达百万规模&#xff0c;同时计算效率大幅提升&#xff0c;双11整体计算成本三年下降30%。 今天&#xff0c;阿里巴巴首席技术官程立宣布——2021天猫双11是首个100…

linux unshare 命令,详解Linux Namespace之User

User namespace 是 Linux 3.8 新增的一种 namespace&#xff0c;用于隔离安全相关的资源&#xff0c;包括 user IDs and group IDs&#xff0c;keys, 和 capabilities。同样一个用户的 user ID 和 group ID 在不同的 user namespace 中可以不一样(与 PID nanespace 类似)。换句…

从更高到更好 2021阿里双11背后的技术亮点

简介&#xff1a; 今年&#xff0c;是阿里巴巴第13个双11。今年双11&#xff0c;阿里巴巴大促峰值的计算成本相比去年下降50%&#xff1b;截至11日&#xff0c;小蛮驴无人车在双11期间累计配送快递已超过100万件。更多的阿里自研技术投入到双11&#xff0c;在芯片、服务器等硬核…

博时基金基于RocketMQ的基金数字化陪伴体系的架构实践

简介&#xff1a; 本文以博时基金的金融场景为案例&#xff0c;阐述RocketMQ在提升客户陪伴效率和丰富金融场景化能力等方面的提升作用。 <本文已参与 RocketMQ Summit 优秀案例征文活动&#xff0c;点此了解详情> 基于RocketMQ的基金数字化陪伴体系的架构实践 博时基金…

面对DNS劫持,只能坐以待毙吗?

简介&#xff1a; 借助 ARMS-云拨测&#xff0c;我们可实时对网站进行监控&#xff0c;实现分钟级别的监控&#xff0c;及时发现 DNS 劫持以及页面篡改。 作者&#xff1a;白玙 DNS 劫持作为最常见的网络攻击方式&#xff0c;是每个站长或者运维团队最为头疼的事情。苦心经营…

linux写程序四则运算,Shell编程之变量及四则运算

Shell的学习目标Shell的基本语法结构&#xff1a; 如&#xff1a;变量的定义、条件判断、循环语句(for、until、while)、分支语句、函数和数组等。基本正则表达式的应用文件处理&#xff1a;grep、sed、awk工具的使用使用shell脚本完成复杂的任务&#xff1a;服务搭建、批量处理…

博时基金基于 RocketMQ 的互联网开放平台 Matrix 架构实践

简介&#xff1a; 随着近两年业绩的抢眼&#xff0c;公募基金迎来了乘风破浪式的发展&#xff0c;截至 2021 年 1 月底&#xff0c;资产管理规模已破 20 万亿&#xff0c;创下了历史新高。 ​ <本文已参与 RocketMQ Summit 优秀案例征文活动&#xff0c;点此了解详情> 作…

首次 统一调度系统规模化落地,全面支撑阿里巴巴双 11 全业务

简介&#xff1a; 今年双 11 首次规模化亮相的统一调度&#xff0c;通过一套调度协议、一套系统架构&#xff0c;统一管理底层的计算、存储、网络资源&#xff0c;超大规模、高效率、自动化的资源弹性&#xff0c;实现了业界新的突破。在离线混部、离在线混部、新的快上快下技术…

日志服务Dashboard加速

简介&#xff1a; 阿里云日志服务致力于为用户提供统一的可观测性平台&#xff0c;同时支持日志、时序以及Trace数据的查询存储。用户可以基于收集到的各类数据构建统一的监控以及业务大盘&#xff0c;从而及时发现系统异常&#xff0c;感知业务趋势。但是随着收集到的数据量不…

明明还有空间,硬盘却写不进去了!

作者 | 阮一峰一、inode是什么&#xff1f;文件储存在硬盘上&#xff0c;硬盘的最小存储单位叫做"扇区"&#xff08;Sector&#xff09;。每个扇区储存512字节&#xff08;相当于0.5KB&#xff09;。操作系统读取硬盘的时候&#xff0c;不会一个个扇区地读取&#xf…

Dataphin核心功能(四):安全——基于数据权限分类分级和敏感数据保护,保障企业数据安全

简介&#xff1a; 《数据安全法》的发布&#xff0c;对企业的数据安全使用和管理提出了更高的要求。Dataphin提供基于数据分级分类和数据脱敏的敏感数据识别和保护能力&#xff0c;助力企业建立合规的数据安全体系&#xff0c;保障企业数据安全。本篇&#xff0c;我们就来聊聊D…

Quick BI产品核心功能大图(四):Quick引擎加速--十亿数据亚秒级分析

简介&#xff1a; 随着数字化进程的深入&#xff0c;数据应用的价值被越来越多的企业所重视。基于数据进行决策分析是应用价值体现的重要场景&#xff0c;不同行业和体量的公司广泛依赖BI产品制作报表、仪表板和数据门户&#xff0c;以此进行决策分析。 在利用BI产品进行数据分…

云厂商靠不靠谱?“国家级标准”鉴定结果来啦

近日&#xff0c;中国电子工业标准化技术协会信息技术服务分会&#xff08;ITSS分会&#xff09;正式公布最新一批通过信息技术服务标准符合性评估的企业名单。作为云计算领域首个权威分级评估体系&#xff0c;也是目前最健全的云服务能力评估体系&#xff0c;ITSS云服务能力符…

Spring Cloud Gateway一次请求调用源码解析

简介&#xff1a; 最近通过深入学习Spring Cloud Gateway发现这个框架的架构设计非常简单、有效&#xff0c;很多组件的设计都非常值得学习&#xff0c;本文就Spring Cloud Gateway做一个简单的介绍&#xff0c;以及针对一次请求Spring Cloud Gateway的处理流程做一个较为详细的…

函数计算GB镜像秒级启动:下一代软硬件架构协同优化

简介&#xff1a; 优化镜像加速冷启动大致分为两种做法&#xff1a;降低绝对延迟和降低冷启动概率。自容器镜像上线以来我们已经通过镜像加速技术&#xff0c;分阶段降低了绝对延迟。本文在此基础上&#xff0c;介绍借助函数计算下一代IaaS底座神龙裸金属和安全容器&#xff0c…