1. 程式人生 > >看不見的戰鬥——阿里雲護航世界盃直播容災實踐

看不見的戰鬥——阿里雲護航世界盃直播容災實踐

摘要: 1978年,中國人開始在電視機上看到世界盃, 中央電視臺對阿根廷隊參加的半決賽以及阿根廷和荷蘭的決賽進行了錄播。1982年世界盃,宋世雄坐在一家香港賓館的小電視前進行解說,然後央視再把香港這家電視臺提供的畫面轉到自己的頻道上,這就完成了中央電視臺對世界盃足球賽的第一次現場直播。

1978年,中國人開始在電視機上看到世界盃, 中央電視臺對阿根廷隊參加的半決賽以及阿根廷和荷蘭的決賽進行了錄播。1982年世界盃,宋世雄坐在一家香港賓館的小電視前進行解說,然後央視再把香港這家電視臺提供的畫面轉到自己的頻道上,這就完成了中央電視臺對世界盃足球賽的第一次現場直播。

40年後,作為歷史上首家拿下世界盃直播權的主流視訊平臺,這次優酷直接祭出了新玩法,採取央視解說、粵語解說、優酷專屬專業解說以及跨界明星等四路四種風格的解說,滿足不同使用者的需求。


當然,世界盃只是一個縮影。網際網路直播相比於電視直播和其他媒體形式,使用者對於觀感體驗的要求更高,也給各大直播平臺和提供直播服務的雲端計算廠商帶來了更多技術挑戰。

相對於電視訊號的同軸電纜傳輸,在網際網路上(無線)傳輸有很多不確定因素。訊號的穩定性、生產速度、跨地域傳輸效率、災備系統等等,都是需要關注的關鍵性指標。

面對世界盃這一流量空前的大規模直播活動,和多路解說、超高清畫質等使用者豐富互動的流暢保障需求,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團隊來迎戰,一切未完待續。

原文連結