2017年4月12-13日,2017亞太CDN峰會在北京隆重召開,大會由亞太CDN領袖峰會、國際CDN論壇、電視新媒體CDN論壇、視頻云論壇、未來網絡論壇、C未來視頻峰會、亞太CDN展覽會等7大部分組成。在13日上午的視頻云論壇上,網易視頻云技術專家邵峰作了題為《構建云直播分發網絡》主題報告。

圖為:網易視頻云技術專家邵峰
一、分發網絡構建實踐的思路
邵峰分享的實踐案例描述了網易云直播產品在開發過程中流媒體分發網絡構建的過程,網易云直播產品在實踐過程中為了保證全網直播的流暢度選擇了降低直播卡頓率,然后進行了分發網絡構建。構建過程分為三個階段:單CDN模式階段、多CDN模式階段、融合CDN模式階段。最后通過這三個模式演變達到直播無卡頓的目標,實現云服務直播流能夠在全網進行分發,流分發基本無卡頓(卡頓率小于5%)。
網易云服務直播是PaaS級的云服務產品,對企業級用戶提供整套直播解決方案,在一開始提供云直播解決方案的時候就發現直播產直播流分發比較卡頓,針對這樣的難題,傳統的CDN分發網絡無法從根本上解決卡頓的問題。針對這種情況網易云決定通過自己的技術手段來構建自己的分發網絡:首先先要尋找問題的瓶頸點,為什么出現卡頓,它主要的關鍵技術瓶頸點在哪里?
3個主要的關鍵技術點:1、節點覆蓋問題。網易云發分發網絡比如說區域節點覆蓋不全會導致區域的卡頓,在運營商層面節點覆蓋不全就導致相應運營商比較卡頓;2、接入點,主播上行推流線路接入點選擇不佳也會導致整個直播鏈路的卡頓。3、一旦出現卡頓問題后線路調整也比較慢的,它會導致經常長時間的出現卡頓。因為線路無法調整,可能需要幾天有些甚至是幾周時間才能把線路調整過來。
尋找到這些關鍵點之后,通過努力將關鍵的技術瓶頸點解決。比如第一點節點覆蓋不全,網易云把原來采用的單CDN換成多CDN,對于接流點不佳問題,網易云自建了接流源站,對于線路調整慢,網易云采用了中心調度的方式加以解決。
二、實踐的過程
在演講中,邵峰講解了單CDN模式:單CDN模式的優點比較明確,首先它實現起來很簡單,只要簡單調用NPI就能快速的搭建。但是使用一段時間以后單CDN模式開始凸顯了其劣勢,主要有三方面的問題,第一是CDN分發網絡節點覆蓋不全,可能在不全的地方卡頓率很高。第二是在流量高峰期容錯能力是比較差。第三是線路調整,有些線路卡頓問題比較嚴重之后需要調整線路,但是怎么調就需要借助第三方的CDN分發網絡。通常調整的時間比較長,所以效果不佳。針對上述問題,網易云接入了多家CDN廠商,這樣能解決節點覆蓋以及備份的問題。同時網易云也開始著手自主研發。
其次是多CDN模式:多CDN模式的節點覆蓋情況明顯改善,線路調優也更快,并且在云管理中心可以任意切換線路。對比單CDN模式,它的卡頓率有明顯下降,但在使用一段時間同樣也發現了幾大缺點:1、上行推流網絡,推流線路沒有辦法進入優化。2、沒法做到自動化的調優線路的目標的。所以針對這兩點又對整個分發網絡進行了優化,就是網易云實踐的第三步——融合CDN模式。
融合CDN的關鍵改造有兩點:1、接流源站:2、調度中心。
接流源站作用是什么?邵峰解釋接流源站是用來優化上行的推流線路的。上行推流網絡進行優化有很多難點,第一它畢竟全國都有布點,第二必須支持一些常用的推流協議,要做4K對接所有下行的一堆CDN分發網絡。網易云融合CDN特色的、關鍵的改造模塊就是調度中心,它的作用是優化用戶的上下行線路,其次是對源站資源進行優化管理。它的實現難點是面對中國這么復雜的網絡情況是如何提供一個最佳的路由線路,如何來高效的管理這些源站資源。
網易云自學習的調度中心:GSLB的調度中心依賴于IP地址庫、規則庫,所謂IP地址庫就是根據IP就能獲得地理位置信息,地域性信息、運營商的信息。整個調度的自學習過程大致劃分為第一步調度中心獲取用戶客戶端IP地址,然后根據IP地址查地址庫獲取地域性信息,然后根據地域性信息查詢規則庫,然后觀眾從融合CDN分發網絡拉取流。在這個過程中的關鍵點就是兩端提供了自研的SDK,自研的SDK會定時把兩端的卡頓信息定時上報到網易云的服務器,加上網易云有自己的云統計中心,上報的卡頓信息定時進行處理,進行處理之后會觸發一些規則調整,然后對規則庫進行調整。這樣一套簡單循環式統計式的自調優的過程這就是網易云自學習的調度中心。
三、實踐小結
網易云分發網絡的建設過程的目標是建設分發網絡,圍繞降卡頓率為中心,這是用戶感受最深的、也最為敏感的話題。通過尋找關鍵點以最小化代價來解決卡頓率的問題。網易云是一個線上產品,分發網絡的構建以及優化的過程是分步驟走的,不可能一蹴而就。并且網易云在建設的初期采用的是傳統的方案,租了傳統的CDN分發網絡。但是為了極致化的目標,網易云開始自建,采用了混合式、融合式的方案。
邵峰在演講中分享的數據表明,從單CDN到多CDN卡頓率下降了26%,從多CDN到融合CDN又下降了44%,最終網易云的優化基本上能把卡頓率下降70%以上。網易云的云服務、分發網絡的建設過程中是一個復雜的工程性問題,網易云最終采用了漸進式的解決方案。最后,邵峰對此次演講做了一個小結:
1、抓關鍵點,抓瓶頸點,對瓶頸點問題進行解決。
2、網易云云服務廠商自建還是第三方服務選擇問題,到底是選用第三方CDN還是自己自建的選擇性問題,在不同階段網易云采用了不同的方式,可能在建設初期全盤用第三方CDN,當然在建設中期或者優化階段要加入一些自建的元素。
3、據網絡問題網易云發現數據收集很重要,網易云通過數據收集做到自動化的調優。
4、廣域網優化的自己的體會,服務節點越靠近用戶它的體驗效果是越佳的,所謂越靠近可能是地域上的服務節點比較靠近,也可能是運營商層面的比較靠近。
5、網易云發現一些分發網絡特別是一些大型的互聯網工程化的項目,它的優化是無止境的,但實際過程中必須考慮成本問題,用最小成本來達到最優化的目標。
責任編輯:方珍