世界杯千万级直播高稳定的挑战和实践
今年夏天,俄羅斯世界杯召開。在剛剛落幕的重慶云棲飛天技術(shù)匯專場(chǎng)中,阿里視頻云技術(shù)專家裘良科,就世界杯這個(gè)話題,跟參會(huì)嘉賓一起探討了千萬級(jí)直播高穩(wěn)定的挑戰(zhàn)和相關(guān)實(shí)踐,本文為演講全文。
?
?
2018年俄羅斯世界杯從6月14日到7月15日,跨度整整一個(gè)月,共有64場(chǎng)比賽,優(yōu)酷成為央視指定的世界杯新媒體官方合作伙伴,作為優(yōu)酷的同門兄弟,阿里云也一并為世界杯直播的提供技術(shù)支持,一同征戰(zhàn)世界杯。 整個(gè)世界杯期間,阿里云的服務(wù)是不間斷的,要始終保持著穩(wěn)定與流暢。而且除了支持優(yōu)酷外,阿里云同時(shí)支持著CCTV5、CNTV、咪咕的世界杯直播,支撐了全網(wǎng)世界杯流量的70%。單單優(yōu)酷的法阿大戰(zhàn)單場(chǎng)并發(fā)就達(dá)到2000W,加上其他的幾家客戶,足足有數(shù)千萬的用戶并發(fā)。這么大規(guī)模、持久的賽事,對(duì)直播平臺(tái)也是很大的挑戰(zhàn)。
?
那么從技術(shù)層面看,世界杯直播的挑戰(zhàn)究竟有哪些?
- 第一個(gè)挑戰(zhàn)是內(nèi)容集中。世界杯核心內(nèi)容就是CCTV5,加上解說頻道,多角度頻道就10多路直播,假設(shè)源站出現(xiàn)問題,那么所有的直播都會(huì)出現(xiàn)問題。
- 第二個(gè)挑戰(zhàn)是高并發(fā)。世界杯高達(dá)千萬級(jí)的并發(fā)在線觀看用戶,且用戶量徒增非常明顯。假設(shè)直播平臺(tái)出現(xiàn)短暫故障,所有用戶可能會(huì)重新請(qǐng)求或者請(qǐng)求其他系統(tǒng),對(duì)系統(tǒng)壓力也會(huì)非常大。
- 第三個(gè)挑戰(zhàn)是安全性。世界杯是世界級(jí)盛會(huì),假設(shè)中間出現(xiàn)安全事故,影響會(huì)非常大,平臺(tái)方也會(huì)有不可推卸的責(zé)任。
在這樣的挑戰(zhàn)之下,阿里云要始終保持著世界杯直播的穩(wěn)定、流暢、安全,背后有一套復(fù)雜的方案和邏輯,下面我們來從穩(wěn)定性、安全、監(jiān)控三個(gè)部分展開。
?
穩(wěn)定性
下圖是世界杯直播穩(wěn)定性架構(gòu)圖,分為四大部分,信源生產(chǎn)鏈路、視頻云中心、CDN和客戶端。
?
第一部分是信源生產(chǎn)鏈路,因?yàn)樽钤嫉男盘?hào)很有可能不被云平臺(tái)使用,比如非常高碼率的信號(hào),不適合傳輸,所以一般都會(huì)有信源生產(chǎn)的鏈路進(jìn)行編碼,提供一個(gè)源站服務(wù)。第二部分是視頻云中心,整個(gè)直播平臺(tái)架構(gòu)是中心架構(gòu),所有直播所需要的功能,比如轉(zhuǎn)碼、截圖、錄制、水印等功能,都是在中心完成的。第三部分是CDN,CDN是真正承載整個(gè)世界杯直播的用戶壓力的一環(huán),數(shù)千萬的用戶都跑在CDN上。第四個(gè)部分是客戶端。接下來分各個(gè)環(huán)節(jié)來介紹阿里云如何保障服務(wù)穩(wěn)定。
?
一、信源生產(chǎn)鏈路
- 多信號(hào)源輸入:生產(chǎn)鏈路環(huán)節(jié)一般是用戶自己搭建,建議用戶多信號(hào)源輸入,因?yàn)閱涡盘?hào)源輸入的情況下,如果信號(hào)源中斷就會(huì)導(dǎo)致業(yè)務(wù)中斷。如果信號(hào)源確認(rèn)只有一個(gè)的話,建議用戶信號(hào)源多鏈路輸入,避免單鏈路故障而導(dǎo)致信號(hào)源無法接收。
- 主備線下轉(zhuǎn)碼器:前面講到原始信號(hào)源是沒辦法直接使用的,所以會(huì)用到一個(gè)編碼器,我們一般會(huì)要求編碼器的主備是實(shí)時(shí)能夠獲取多個(gè)信號(hào)源,并支持實(shí)時(shí)切換的。切換的模式有兩種,第一個(gè)是直接主備模式,在同時(shí)輸出源,只有1臺(tái)編碼器。第二個(gè)雙備的方式,2臺(tái)編碼器的輸出源同時(shí)給云平臺(tái)提供數(shù)據(jù)源,這樣的方式,我們最終會(huì)把轉(zhuǎn)碼器的數(shù)據(jù)通過拉流或者推流的方式同步到視頻云中心。如果是拉流的方式,視頻云中心會(huì)從多個(gè)源站同時(shí)拉流,保證任何一個(gè)源站/編碼器出現(xiàn)問題,視頻云中心都可以順利的拿到數(shù)據(jù)。如果是推流的方式,主動(dòng)權(quán)在用戶,用戶也最好能多個(gè)源站/編碼器同時(shí)向視頻云中心推流。
- 多出口推/拉流:源站的出口鏈路一般會(huì)要求是多個(gè),因?yàn)閱纬隹阪溌反嬖诰W(wǎng)絡(luò)風(fēng)險(xiǎn)。
?
?
二、視頻云中心
?
三、 CDN與客戶端
?
安全
世界杯賽事直播護(hù)航工作中,內(nèi)容的安全和穩(wěn)定同樣重要。用戶可以通過阿里云云導(dǎo)播臺(tái)內(nèi)容審核、源站IP推流和拉流的白名單設(shè)置、推流鑒權(quán)、拉流HTTPS校驗(yàn)防劫持等幾個(gè)方案,來保障內(nèi)容安全。針對(duì)類似世界杯賽事的版權(quán)內(nèi)容,阿里云也提供播放鑒權(quán)&二次鑒權(quán)、DRM對(duì)視頻本身鑒權(quán)、分域名封禁、區(qū)域限制等方案來防止盜播盜鏈。
?
監(jiān)控
架構(gòu)解決了穩(wěn)定性問題,并在安全方面也做了很多準(zhǔn)備之后,直播當(dāng)然也需要監(jiān)控,阿里云對(duì)于世界杯直播的監(jiān)控分以下三大部分。
?
第一是技術(shù)環(huán)境的監(jiān)控
包括直播中心、CDN每臺(tái)設(shè)備的CPU使用率、內(nèi)存、網(wǎng)絡(luò)、磁盤等,如果出現(xiàn)故障情況,就和前面的方案配合進(jìn)行自動(dòng)切換;如果出現(xiàn)異常、亞健康的狀態(tài),則會(huì)通過報(bào)警讓運(yùn)維人員快速定位問題和快速處理。
?
第二是應(yīng)用監(jiān)控
包括每個(gè)程序的進(jìn)程、端口、QPS壓力、直播延遲,與前面環(huán)境監(jiān)控的處理方式一樣,如果出現(xiàn)故障,就和切換機(jī)制聯(lián)動(dòng),如果出現(xiàn)異常則通過報(bào)警來人為處理。
?
第三是業(yè)務(wù)監(jiān)控
包括直播全鏈路監(jiān)控,下圖是一張比較復(fù)雜的直播業(yè)務(wù)的監(jiān)控圖,綠色代表正常,黃色可能會(huì)出現(xiàn)丟幀、丟包等問題出現(xiàn)的異常線路。點(diǎn)開每一條線,就可以看到?jīng)]路流在當(dāng)前時(shí)間下的狀態(tài)值,比如說時(shí)間戳一小時(shí)之內(nèi)是否連續(xù)、遞增和跳頻,避免客戶端兼容性問題引發(fā)的不好的用戶體驗(yàn)。
?
?
對(duì)于幀率的監(jiān)控,在視頻云中心進(jìn)行流合并的時(shí)候,我們實(shí)時(shí)地把不同的流合并成一個(gè),來達(dá)到抗抖動(dòng)的效果。下面四幅圖是同一時(shí)間同一路流的監(jiān)控,上面三路流合并成下面一路流,毛刺變少,結(jié)果更穩(wěn)定。
?
?
除此之外,系統(tǒng)還會(huì)針對(duì)服務(wù)端慢速比、客戶端卡頓率等數(shù)據(jù),進(jìn)行實(shí)時(shí)收集和監(jiān)控,通過和客戶端的聯(lián)合,實(shí)現(xiàn)質(zhì)量調(diào)優(yōu)。
除了以上高穩(wěn)定性的服務(wù)架構(gòu)、多維度安全策略以及全鏈路監(jiān)控以外,阿里視頻云也為用戶提供時(shí)移直播、智能剪輯、異地容災(zāi)、智能調(diào)度、秒開、碼率控制、50幀極清、高速通道、防盜鏈、云導(dǎo)播臺(tái)、廣告識(shí)別、ET字幕等能力。
?
?
相信護(hù)航過世界杯直播之后,阿里視頻云一定在活動(dòng)、賽事直播這個(gè)場(chǎng)景下沉淀了更多技術(shù),在未來為客戶創(chuàng)造更多價(jià)值,為用戶帶來更極致的觀看體驗(yàn)。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的世界杯千万级直播高稳定的挑战和实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一张图看懂阿里云新发布的物联网设备上云神
- 下一篇: 如何在机器学习项目中使用统计方法的示例