博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
看不见的战斗——阿里云护航世界杯直播容灾实践
阅读量:7192 次
发布时间:2019-06-29

本文共 1814 字,大约阅读时间需要 6 分钟。

1978年,中国人开始在电视机上看到世界杯, 中央电视台对阿根廷队参加的半决赛以及阿根廷和荷兰的决赛进行了录播。1982年世界杯,宋世雄坐在一家香港宾馆的小电视前进行解说,然后央视再把香港这家电视台提供的画面转到自己的频道上,这就完成了中央电视台对世界杯足球赛的第一次现场直播。

40年后,作为历史上首家拿下世界杯直播权的主流视频平台,这次优酷直接祭出了新玩法,采取央视解说、粤语解说、优酷专属专业解说以及跨界明星等四路四种风格的解说,满足不同用户的需求。

image

当然,世界杯只是一个缩影。互联网直播相比于电视直播和其他媒体形式,用户对于观感体验的要求更高,也给各大直播平台和提供直播服务的云计算厂商带来了更多技术挑战。

相对于电视信号的同轴电缆传输,在互联网上(无线)传输有很多不确定因素。信号的稳定性、生产速度、跨地域传输效率、灾备系统等等,都是需要关注的关键性指标。

面对世界杯这一流量空前的大规模直播活动,和多路解说、超高清画质等用户丰富交互的流畅保障需求,CDN的支撑对优酷来说尤为重要。优酷的兄弟团队、国内视频服务体量最大的云计算公司阿里云派出了视频云团队,该团队曾支持天猫双十一、春晚直播等大型项目,护航经验丰富。

护航项目组负责人之一,阿里云CDN产品架构师团队喻义表示:在世界杯开始之前,团队就开始思考,直播中信号源出现故障怎么办,运营商网络出现故障怎么办以及其它意外等,项目组设想了各种可能出现的问题,并给出周密的预案。

第一,多信号源异地备份

世界杯比赛的信号源是直播的根本,信号的稳定性直接影响所有直播用户的观看体验,所以必须做多信号源的备份,阿里云采取了以下方案:

1、采用多信号源异地备份,单一地区的环境问题、网络问题、设备问题导致的故障,不会影响整体业务

2、同源信号多路复合,同来源的内容,通过多源同时拉取,智能检测判断,合并成一路高质量、高可用的复合流,降低网络因素或者单台源站导致的不稳定和质量下降
3、异源信号智能检测,自动切换。对于不同来源的信号智能检测信号质量,切换到优质信号源。

_1

第二,生产链路灾备

直播内容生产链路也至关重要,在面对如此重要,如此大规模比赛,需要从技术架构上确保万无一失。

1、组件分布式,从直播信号的上行、转码、切片、流媒体服务,任何一个环节都是多路备份,任何单台设备故障,都是秒级切换,秒级恢复。

2、网络主备,所有组件的接入网络都是多线、多出口,不会因为单一运营商,单一网络产品的故障,导致服务不可用。
3、异地容灾,在多个中心同时部署备份,极端情况下,就算整个华东中心的生产环境异常,在1分钟内,可以把业务切到华北中心,快速恢复,保证信号的正常分发。

第三,分发网络灾备

播放端(用户)从就近的L1节点完成播放,L1节点一般就是本地覆盖的边缘节点,如果机房内有这路视频流,就直接返回,如果没有,就从L2节点拉流,如果L2不命中,最终会去直播中心寻找这路流。这其中,任何的链路都会存在抖动状况,CDN会通过自动切换调度来保证稳定性。

在L2节点,会做多区域、多运营商的二级节点备份,保障任何单一地区、运营商的故障不会影响整体服务。

_2

为了确保客户业务的容灾稳定性,阿里视频云针对客户业务场景设计涵盖视频生产、视频处理、视频分发的全链路高可用高并发的方案,并在开赛前2天配合优酷和CNTV完成了多次全链路的压测和容灾演练,为整个世界杯期间的运行稳定打好基础。这中间可以看到阿里云在双11、春晚积累下来的经验,很好的赋能并输出到了另外一个更大的战场中。

除了优酷外,阿里云还支撑了CNTV、CCTV5客户端,为全网70%的世界杯直播流量提供服务。要想保障这样重大的赛事,背后的整个平台的运维保障工作就是一个没有硝烟的战场。谈到这里,喻义不禁感慨:“优酷最晚拿到直播权,这个时候距离世界杯开幕只有2周的时间。阿里云需要在这2周的时间之内,完成整个运营商资源、云化资源储备和调度、整个CDN的容灾和灾备、视频处理中心的容灾和灾备。这对我们的供应链体系和组织协同都是非常大的挑战。然而比赛到了今天,我们都圆满地完成了护航任务,成功应对了一次又一次的流量攀升。”

image

对很多阿里云工程师来说,这都是一届独特的世界杯。从小组赛到淘汰赛,伴随着每场直播的顺利进行,球迷对于高清流畅的反馈,充分验证预案是成功的。世界杯护航结束后,会有更多的挑战,等待着阿里云CDN团队来迎战,一切未完待续。

转载地址:http://rcxkm.baihongyu.com/

你可能感兴趣的文章
笔试题①
查看>>
js 对象
查看>>
安装apache
查看>>
正则表达式--列表
查看>>
java基础---面向对象
查看>>
oracle 存储过程详细介绍(创建,删除存储过程,参数传递等)
查看>>
textview第一次出现不可滚动文本,但是点击出现键盘,键盘落下,就可以滚动问题...
查看>>
Android小感悟-重写textview组件感悟
查看>>
bnu Game 博弈。
查看>>
【转】IntelliJ IDEA2016.1 + maven 创建java web 项目
查看>>
微软宣布支持基于虚拟机的Azure IOT Edge服务
查看>>
以流动债务为例论指标的合理使用
查看>>
保Cloudera弃Hortonworks,新平台将支持五大云供应商
查看>>
一文教会你数据库性能调优(附某大型医院真实案例)
查看>>
Android - 关于设备版本号
查看>>
听说你Binder机制学的不错,来面试下这几个问题(一)
查看>>
前端测试:Part II (单元测试)
查看>>
ssh整合问题总结--运行项目时报java.lang.StackOverflowError(堆栈溢出)异常
查看>>
.NET中的repeater简介及分页效果
查看>>
基于MVP架构设计ASP.Net的应用研究
查看>>