近日,英雄聯盟S8全球總決賽落下帷幕,中國戰隊IG零封FNC奪得冠軍。這場比賽引發了國內網友的超高關注度,也給直播平臺帶來了不小的技術挑戰。虎牙直播平臺結合阿里雲邊緣節點技術方案,保障了總決賽當日7000萬在線用戶的低延時、穩定流暢以及實時互動,爲觀衆提供了流暢的體驗。安全
那麼相似S8賽事這樣的大型活動直播的特色和技術挑戰是什麼?爲何業務要下沉到邊緣?自建邊緣節點和與雲服務廠商合做到底該如何選擇?邊緣節點服務(ENS)又是如何進行技術支撐?提供的針對性優化方案有哪些?本文將爲你一一揭曉。服務器
互動直播場景,一般包括音視頻推流、轉碼、分發、播放等核心業務模塊,和彈幕、打賞禮物等互動業務邏輯,在體驗上有清晰度、播放流暢度、播放延時等方面的要求。基於上述特色分析,結合直播的體驗需求,賽事直播面臨的技術挑戰主要在如下幾個方面:網絡
賽事直播的直播流和觀看用戶比較集中,並且賽事的時間是計劃性的,在開賽時間的負載會有一個突發,對系統高併發壓力較大。同時,在競技比賽中的瞬時熱點事件時刻,會有更加迅猛的業務和流量壓力變化,好比比賽在一個意外狀況下忽然分出勝負,將會激發觀衆發送大量彈幕,當同房間全部觀衆同一時刻發送數據時,數據量會有一個爆炸式的增加,瞬時負載可想而知。架構
應對瞬時流量增加和高併發等壓力,一般從根本上有效解決的方法,一是預留足夠的資源水位,確保流量峯值時系統處理能力是知足需求的,這就要求系統具有很好的資源彈性能力;二是經過流量調度系統,把負載分散到不一樣資源上並行處理,緩解單點壓力。併發
直播的核心體驗指標直接決定了用戶的播放和觀看體驗,最多見的指標就是播放延時和播放流暢度,提高體驗指標的方法有不少,好比調度和網絡鏈路的質量優化、協議優化、P2P傳輸技術、播放器優化等。運維
保障體驗指標的關鍵,仍是在於內容分發速度和網絡傳輸質量等層面,直播中的分發環節就是依賴CDN系統的能力保證網絡分發的速度和質量,同時造成用戶就近訪問的效果,下降網絡時延,減小跨網或複雜網絡鏈路訪問帶來的不穩定。其實除了直播流分發,直播場景中還能夠將更多業務模塊放到邊緣完成,好比推流後的轉碼、彈幕的分發等,充分利用邊緣網絡和邊緣計算的優點,達到更好的體驗。高併發
服務穩定的重要性毋庸置疑,尤爲在大型賽事直播中,穩定性一旦出問題,影響會很是大。
服務的穩定性首先取決於架構和方案的設計,針對系統風險點進行高可用設計,確保不出現單點故障對全鏈路的影響,核心模塊要有failover能力或降級方案。其次,穩定性要重點作好監控和運維,確保故障及時發現,並具有高效的問題定位和處置恢復能力。工具
實際上,在面臨了以上種種業務挑戰以後,愈來愈多的直播平臺已經在將業務下沉到邊緣,充分利用邊緣網絡和計算的優點,第一,能夠下降網絡延時,爲用戶提供更好的觀看體驗。第二,緩解了中心資源和單點資源的壓力,化解瞬時壓力,保障業務洪峯的平穩度過。性能
就像上圖所說,自建基礎設施的過程當中會面臨不少痛點和挑戰:測試
首先,自建基礎設施意味着從商務採購、服務器採購等供應鏈管理、到節點建設都要本身來作,會致使資產投入太重和成本太高等問題。
其次,當應對一些突發業務需求的時候,因爲新建節點交付的週期長,彈性能力比較差,而臨時業務高峯事後又會有不少的資源閒置。
另外,自建基礎設施還帶來運維的挑戰,首先須要將邊緣節點從建設、交付到運行的整個流程管理起來,其次要管理邊緣節點內物理服務器層面、操做系統層面、以及軟件應用層面的運維問題,出現問題時要有一組工具幫助遠程查看日誌和問題排查定位,這些對運維的自動化和白屏化提出了很高的要求。
最後一個挑戰是安全和可靠性方面,首先邊緣DC基礎環境的可靠性依賴第三方運營商的服務,須要應對各類複雜的情形,包括針對運營商網絡割接考慮應對策略等問題。針對邊緣節點中各類可能軟硬件故障,還要有及時發現和調度的能力,這些要求將直接體現到業務架構的設計開發中,挑戰和成本都很大。另外安全方面要着重考慮網絡流量安全、主機安全等不一樣層面的安全問題,每一個層面的安全方案開發成本都很高,好比DDoS防禦,當針對某個邊緣節點內IP的攻擊發生時,可能整個節點的網絡都出現不可用問題,而想要達到預期的防禦效果,可能須要在每一個邊緣節點都部署一套軟件加硬件的系統方案。
阿里雲推出的邊緣節點服務(ENS)這個雲產品,就是針對前面提到的目標場景,來應對客戶自建邊緣設施遇到的痛點和挑戰的。ENS將阿里雲的公共雲邊界進一步拓展到邊緣,與公共雲一塊兒完整支撐客戶「中心+邊緣」的複雜業務架構需求,真正將雲的基礎設施能力作到下沉到用戶身邊。目前該服務已經在官網上線,同時在虎牙直播平臺S8賽事護航中,得了很好的場景應用和能力驗證。
咱們迴歸直播業務自己,它是一個很是依賴內容分發能力的業務場景,CDN系統可以支持主播就近推流以及直播流的分發和就近訪問,確保整個流程的低時延,同時大大下降帶寬分發的成本。而ENS正是基於已有的CDN節點造成更豐富的計算、存儲、網絡、安全等能力,能夠很方便地支撐客戶自有的CDN系統,以及在邊緣DC中運行的直播服務模塊。
前面提到應對業務流量突發以及瞬時流量增加最有效的方法是預留足夠的資源,其實是資源彈性的需求。目前「中心-終端」架構的業務,已經能夠經過使用阿里雲的彈性計算服務輕鬆的具有這個能力;直播業務因爲須要基於大量的CDN節點進行分發,其資源彈性需求有很大部分在邊緣,其實是一個「中心-邊緣-終端」的架構。
ENS正是面向這種架構和場景需求設計的,依託ENS在全國各地區和運營商的完整覆蓋,以及節點豐富的計算和帶寬資源能力,可以支撐大型賽事或活動的直播的資源彈性需求。ENS具有應用和鏡像下發能力,資源建立能夠在1分鐘左右完成,極大提高資源擴縮容的效率。
ENS封裝了邊緣節點底層複雜的基礎設施和網絡環境,向客戶提供標準的計算、存儲、網絡、及安全能力,客戶不需關心底層設施和環境的各類差別,也不需關心底層運維問題。
在這些邊緣實例和算力資源上,能夠將直播業務中適合放到邊緣的任何模塊進行下沉,指定好資源規格及帶寬用量便可。ENS提供了多種存儲方案,以及DDoS防禦能力,可以完整支撐直播及其餘多種場景的基礎能力需求。
ENS系統是基於阿里雲飛天2.0 Apsara Edge架構設計開發,繼承了阿里雲飛天系統多年的技術沉澱,結合阿里雲全球領先的自動運維繫統,造成可靠的連續服務能力。ENS實例和算力資源經過底層自動化遷移能力確保高可用,在節點網絡方面也具有完整覆蓋監控能力,實時發現網絡抖動。ENS支持客戶級別的資源隔離,避免資源爭搶,這些都確保了直播邊緣業務模塊運行的穩定性。
ENS有完整易用的Web管理控制檯和OpenAPI,支持邊緣實例的遠程在線管理,支持CPU/存儲IO/網絡流量等各項運行指標的實時可視化監控,以及數據的可視化統計分析,極大提高了監控運維的能力和效率。
ENS除了能節省業務初始階段的資源建設、開發成本,和後期的運維、管理成本外,還能夠節省中心到邊緣的帶寬成本,有數據統計,平都可節約30%的中心帶寬成本。
阿里雲ENS團隊針對常規活動/賽事/電競直播這一業務場景,也作了不少技術優化。同時,在大型賽事直播需求下,團隊也會啓動針對性的風險評估和護航規劃,在賽事初期就開始密切跟蹤直播平臺各項業務指標、性能指標以及穩定性方面的表現,每場比賽都有專人進行值班護航,及時發現和解決直播中遇到的問題。
彈幕在直播平臺是很是常見的互動模式,從技術層面通常屬於多人在線聊天室的架構,每一個在線用戶的發言均廣播給在線的全部其餘用戶,所以在一些重要賽點,常常性的突發極高的瞬間流量,與其它常規業務流量模型差別較大。不一樣時間粒度的採樣帶寬曲線以下圖所示。
能夠看到採樣粒度稍大時帶寬波動比較平滑,根本看不出任何問題,節點帶寬水位也很充足,但秒級的帶寬瞬時波動很是大,並且帶寬峯值會打到很高,正是由於這種突發的極高瞬間帶寬,會打滿服務器網卡,單節點內多臺服務器疊加造成對交換機瞬間極大處理壓力,致使丟包。
針對以上問題,ENS經過網卡流量整形的方式,避免數據瞬間集中廣播。流量整形後經線上驗證效果良好,能夠有效避免丟包狀況的出現。
直播的效果是依賴網絡傳輸的,部分網絡傳輸業務的實例會發現丟包問題,針對這個問題,ENS也會進行一些優化。首先進行排查,如交換機、實例自己有沒有異常,CPU負載高不高,丟包的嚴重程度與帶寬密切相關。而後,進一步對實例CPU多核負載進行分析,定位問題源頭所在。
好比部分核心負載太高,網卡中斷處理能力不足致使時延和丟包率上升的狀況下,ENS可針對實例開啓RPS特性,從而保障實例的時延和丟包率的正常。在平時業務5倍壓力的狀況下,ENS實例仍能保證性能和服務穩定。
針對直播的業務特色,以及活動/賽事/電競等大型活動期間核心關注點,阿里雲邊緣計算團隊基於過往經驗,和客戶的溝通,進行了深刻分析,將該業務場景下的數據進行可視化監控。
ENS支持定製化開發,更貼近用戶業務需求的監控報警能力,在網絡抖動、節點和實例實時服務能力等方面確保第一時間發現問題並通知客戶,與客戶的系統造成聯動,在最短的時間內響應並解決問題。在重大賽事的護航方面,根據比賽時間開發自動化排班值班系統,造成響應和處理的專項綠色通道,保障服務穩定性。
除了直播場景,ENS在其餘邊緣場景支撐上還有很多關鍵能力。
不一樣業務場景對實例塊存儲的需求差別比較大,體如今存儲容量、IO性能、存儲可靠性等不一樣方面,業務邏輯有狀態的場景可能須要確保數據不丟失或可恢復,像CDN等業務場景則須要海量存儲空間,而且IO讀性能足夠高。這些需求用統一一套存儲方案很難將各種需求支撐到極致,ENS設計開發了雲盤、本地盤等多種存儲架構的方案,可以支持各類存儲需求。從目前線上的反饋看,不管是IO性能、IO吞吐,仍是存儲容量、存儲高可用等各方面都造成了穩定的服務能力。
ENS邊緣節點還具有網絡流量安全防禦能力,支持DDoS檢測和清洗,當針對某個邊緣節點內IP的攻擊發生時,可以秒級實時檢測發現並自動進行流量清洗,同時結合IP黑洞能力爲節點提供高可用的穩定持續服務能力,控制風險範圍。客戶還能夠結合阿里雲的雲盾等其餘安全產品一塊兒使用,達到更好的總體安全防禦效果。
邊緣節點能夠支持全網廣覆蓋、本地化服務兩個類業務場景。
第一,在全網廣覆蓋這類場景中,主要以互聯網行業的線上業務爲主,對服務的目標範圍通常是沒有太多區域限制的,邊緣節點也要作到全網足夠普遍的覆蓋。好比CDN業務自己就是典型的邊緣計算場景,能夠無縫地直接跑到ENS上,從而爲總體成本、運維能力等方面帶來明顯的收益和提高。互動直播和實時音視頻通訊,則是低時延的要求以及帶寬成本節省的訴求。探測監控這類業務需求主要是但願在距離用戶最近的邊緣,匹配真實的業務和網絡環境,去探測一些業務邏輯的正確性、業務穩定性以及核心業務的性能指標等。遊戲加速和SD-WAN,這類場景本質是但願在邊緣節點上作邊緣軟網關或軟路由,經過網絡協議和網絡鏈路的優化,完成加速和安全等目標,邊緣節點在其中起到的做用與實時通訊是相似的。
第二大類的典型場景是本地化,關注的是十千米之內超低時延及大帶寬業務場景,要求延時在1ms之內來知足業務需求。這類場景更多偏向傳統行業或者線下業務,具備區域性的特色。好比城市大腦這類場景中的視頻監控上雲,新零售場景中一些店鋪在視頻AI及監控的自動化識別和售賣等環節的應用上雲,本地行業的一些IT設施上雲等,這些阿里雲都在逐步造成成熟的案例。
目前,ENS服務已經在阿里雲官網正式上線,支持直接在線申請開通、控制檯建立算力資源、進行業務部署和效果測試。同時,業務正式上線運營後,可直接經過控制檯管理、查看用量和動態監控。
做爲國內最大的雲計算服務商,阿里雲沉澱了一整套大型賽事直播護航實戰經驗及解決方案。全球範圍內擁有1500多個CDN節點和鏈接用戶最後10千米的大量邊緣節點,結合視頻雲的實時媒體處理、智能審覈、雲導播、雲剪輯、安全防禦等解決方案,給予直播平臺能力與效率的全面提高。現在,超大規模的媒體處理平臺與CDN、ENS深度融合,更能夠實現豐富計算能力、低時延、低成本的協同,使得在邊緣節點上能夠直接完成視頻的分析和計算,爲客戶創造更多價值。
本文爲雲棲社區原創內容,未經容許不得轉載。