看不见的战斗——阿里云护航世界杯直播容灾实践

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

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

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

image

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

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

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

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

第一,多信号源异地备份

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

1、采用多信号源异地备份,单一地区的环境问题、网络问题、设备问题导致的故障,不会影响整体业务
2、同源信号多路复合,同来源的内容,通过多源同时拉取,智能检测判断,合并成一路高质量、高可用的复合流,降低网络因素或者单台源站导致的不稳定和质量下降
3、异源信号智能检测,自动切换。对于不同来源的信号智能检测信号质量,切换到优质信号源。


第二,生产链路灾备

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

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

第三,分发网络灾备

播放端(用户)从就近的L1节点完成播放,L1节点一般就是本地覆盖的边缘节点,如果机房内有这路视频流,就直接返回,如果没有,就从L2节点拉流,如果L2不命中,最终会去直播中心寻找这路流。这其中,任何的链路都会存在抖动状况,CDN会通过自动切换调度来保证稳定性。
在L2节点,会做多区域、多运营商的二级节点备份,保障任何单一地区、运营商的故障不会影响整体服务。


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

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


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

原文链接

本文为云栖社区原创内容,未经允许不得转载。


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

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

相关文章

树莓派安装python3.5_树莓派 | 04 安装基于python3.5的tensorflow,解决python版本不匹配问题...

创建日期:2019-03-03 系列文章 安装流程 在终端中依次执行 sudo apt install libatlas-base-dev pip3 install tensorflow(安装python3的CPU版本tensorflow,目前是不可能正常使用的,因为树莓派自带的Python3是3.5,而用…

使用fastjson工具类json字符串和对象之间的转换

文章目录一、引入依赖二、创建user实体类三、测试一、引入依赖 <!--字符串和对象操作工具类 Start--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependenc…

崩管嵌入式还是单片机,盘就完事了

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 小枣君责编 | 阿秃大家好&#xff0c;我是小枣君。凡是从事计算机或电子信息相关领域工作的童鞋&#xff0c;一定都听说过嵌入式和单片机吧&#xff1f;很多人应该知道&#xff0c;这两个名词和硬件系统有着非常密切的关系。…

DRDS分布式SQL引擎—执行计划介绍

摘要&#xff1a; 本文着重介绍 DRDS 执行计划中各个操作符的含义&#xff0c;以便用户通过查询计划了解 SQL 执行流程&#xff0c;从而有针对性的调优 SQL。DRDS分布式SQL引擎 — 执行计划介绍前言数据库系统中&#xff0c;执行计划是对 SQL 如何执行的形式化表示&#xff0c;…

易商云页面认证失败是什么情况_Serverless 云原生框架 Malagu:认证与授权

认证与授权组件 malagu/security 。Malagu 框架结合传统后台管理系统和云计算平台的认证与授权理念&#xff0c;并借鉴了 Spring Security 设计思想&#xff0c;抽象了一套通用的认证与授权模型。Spring Security 对前后端分离架构支持不是特别友好&#xff0c;Malagu 框架在这…

sharepoint文件夹本地同步_mac文件同步软件-Resilio Sync Home

Resilio Sync Mac版是Mac平台上的一款文件同步软件&#xff0c;Resilio Sync Mac版使用起来非常的简单、方便。你可以通过链接、秘钥或二维码的方式共享你电脑里的任意文件夹&#xff0c;接收方也可以把共享文件存放在任意位置。Resilio Sync Home Pro for mac(文件同步软件)​…

(需求实战_进阶_01)SSM集成RabbitMQ 关键代码讲解、开发、测试

背景&#xff1a; 为了减轻服务器的压力&#xff0c;现在原有项目的基础上集成消息队列来异步处理消息! 此项目是企业真实需求&#xff0c;项目的代码属于线上生产代码&#xff0c;直接用于生产即可&#xff01; 此项目采用MQ发送消息模式为:路由模式&#xff0c;如果对RabbitM…

浅谈Service Mesh体系中的Envoy

摘要&#xff1a; 提到Envoy就不得不提Service Mesh&#xff0c;说到Service Mesh就一定要谈及微服务了&#xff0c;那么我们就先放下Envoy&#xff0c;简单了解下微服务、Service Mesh以及Envoy在Service Mesh中处于一个什么样的角色。背景最近因工作原因开始了解Service Mesh…

Java并发编程笔记之FutureTask源码分析

FutureTask可用于异步获取执行结果或取消执行任务的场景。通过传入Runnable或者Callable的任务给FutureTask&#xff0c;直接调用其run方法或者放入线程池执行&#xff0c;之后可以在外部通过FutureTask的get方法异步获取执行结果&#xff0c;因此&#xff0c;FutureTask非常适…

动动手指头, Feed 流系统亿级规模不用愁

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 少强责编 | 阿秃导读&#xff1a;互联网进入移动互联网时代&#xff0c;最具代表性的产品就是各种信息流&#xff0c;像是朋友圈、微博、头条等。这些移动化联网时代的新产品在过去几年间借着智能手机的风高速成长。这些产品…

(需求实战_进阶_02)SSM集成RabbitMQ 关键代码讲解、开发、测试

接上一篇&#xff1a;&#xff08;企业内部需求实战_进阶_01&#xff09;SSM集成RabbitMQ 关键代码讲解、开发、测试 https://gblfy.blog.csdn.net/article/details/104197309 文章目录一、RabbitMQ配置文件1. RabbitMQ生产者配置文件2. RabbitMQ消费者配置文件3. 连接配置文件…

vue 判断同一数组内的值是否一直_vue一些笔记

vuex action&#xff1a;尤雨溪在知乎回答了&#xff0c;区分 actions 和 mutations 并不是为了解决竞态问题&#xff0c;vuex 真正限制你的只有 mutation 必须是同步的这一点&#xff0c;只是为了devtools追踪状态变化&#xff0c;或者说出于单一职责原则。https://www.zhihu.…

机器学习从业人员到底做什么?

这篇文章是系列文章的第1部分,第2部分将阐述AutoML和神经架构搜索、第3部分将特别地介绍Google的AutoML。 关于机器学习人才的稀缺和公司声称他们的产品能够自动化机器学习而且能完全消除对ML专业知识需求的承诺经常登上媒体的新闻头条。在TensorFlow DevSummit的主题演讲中&a…

黑科技揭秘:面对海量的文本翻译任务,阿里翻译团队是如何解决的

摘要&#xff1a; 对国际化企业来说语言问题是亟待突破的重要关口。面对海量的文本翻译任务&#xff0c;昂贵低效的人工翻译显然不能满足需求&#xff0c;利用计算机自动进行文本翻译的机器翻译才是解决这个问题的关键。阿里翻译团队在机器翻译领域做了大量技术储备&#xff0c…

(需求实战_进阶_03)SSM集成RabbitMQ 路由模式关键代码讲解、开发、测试

接上一篇&#xff1a;&#xff08;企业内部需求实战_进阶_02&#xff09;SSM集成RabbitMQ 关键代码讲解、开发、测试 https://gblfy.blog.csdn.net/article/details/104214033 上一篇给大家介绍了在RabbitMQ 的管控台中&#xff0c;将队列绑定到指定的交换机上&#xff1b;这片…

在计算机中dos代表什么意思,Boot是什么意思

Boot是什么意思如果你去问一个学计算机的人&#xff0c;“启动”是计算机中的那个单词?回答一定是Boot。可是&#xff0c;Boot原来的意思是靴子&#xff0c;“启动”与靴子有什么关系呢?原来&#xff0c;这里的Boot是bootstrap(鞋带)的缩写&#xff0c;它来自一句谚语&#x…

你知道哪些情况下不该使用深度学习吗?

深度学习不适用于什么样的任务&#xff1f;依我之见&#xff0c;以下这些主要场景的深度学习弊大于利。01低成本或者低承诺问题深网是非常灵活的模型&#xff0c;有着许多架构和节点类型&#xff0c;优化器和正则化策略。根据应用&#xff0c;你的模型可能会有卷基层&#xff0…

秒后面的单位是什么_单位与国际单位制是如何由来的?

2013年国庆期的一则网络消息说&#xff0c;11万人看升旗留下了5吨垃圾。有人认为这是一则假消息&#xff0c;因为5吨&#xff1d;5000千克&#xff0c;110000500022千克/人&#xff0c;而每人携带22千克&#xff08;44斤&#xff09;的垃圾是不可能的。以前还看过一个说法&…

(需求实战_进阶_04)SSM集成RabbitMQ 通配符模式 关键代码讲解、开发、测试

背景&#xff1a; 为了减轻服务器的压力&#xff0c;现在原有项目的基础上集成消息队列来异步处理消息! 此项目是企业真实需求&#xff0c;项目的代码属于线上生产代码&#xff0c;直接用于生产即可&#xff01; 此项目采用MQ发送消息模式为:通配符模式&#xff0c;如果对Rabbi…

halo多人正在连接服务器,在线人数过低 《光晕2》PC版多人服务器下月关闭

这也许是一个让粉丝略伤感的消息&#xff0c;《光晕2(Halo2)》PC多人游戏服务器将在下个月永久关闭。343 Industries注意到服务器的峰值在线人数一直仅有20人&#xff0c;因此做出了关闭服务器的决定。343 Industries在Halo Waypoint中说道&#xff1a;“我们很遗憾地宣布&…