天天看點

視訊直播軟體開發不得不引起重視的網絡架構問題

直播在網際網路市場中一直都處于穩定發展的局面,雖然直播行業經曆了不同時期的洗牌和考驗,但它還是依靠自身強大的變現能力“存活”到現在。而且随着即将統一營運商服務和流量資費的不斷下調,更是給視訊直播軟體開發業務提供了發展“溫床”,比如接下來我要給大家分享的内容,開發過程中需要注意的網絡架構相關。本文主要以CDN為主來介紹相關的架構問題。

視訊直播軟體開發不得不引起重視的網絡架構問題

對于傳統的點播業務來說,CDN隻有下行分發不同。但是對于泛娛樂和遊戲類的直播場景來說,直播架構是分為上行彙聚和下行分發兩種的。           

1.主播推流模式

(1)直播端推流到上行邊緣節點。

(2)上行邊緣節點将流推到彙聚核心。

(3)彙聚核心收到流後,和 CDN 一樣,不需要主動将流分發到邊緣,一些轉碼、水印或錄制類的業務通常是在彙聚核心完成。

2.回源拉流模式

如果使用者在通路到彙聚核心後,會向一個回源節點拉流,回源節點向客戶源站拉流。

3.下行觀看流程

(1)觀衆到邊緣節點拉取直播流。

(2)在邊緣節點上如果存在音視訊流,可以直接發送給觀衆,如果沒有就會向上一級回源。

(3)上一級節點可能是中轉節點,也可能是彙聚核心。通常會在兩種情況下選擇是否經過中轉節點,即下行邊緣到彙聚核心鍊路品質和彙聚核心處理能力。

視訊直播軟體開發不得不引起重視的網絡架構問題

對于CDN來說,是不可能單獨使用一個彙聚核心的。如果使用單獨的彙聚核心,一旦遇到網絡故障或者是高并發等情況發生,就會導緻整個直播業務出現癱瘓的情況。況且,單獨的彙聚核心無論怎樣都是無法覆寫全國的,是以就需要大量的中轉節點。通常,直播會使用多彙聚核心的架構,即以下兩種方式。

1.鍊路選優

即上行到一個鍊路最優的核心,下行也到一個鍊路最優的核心。兩個核心之間使用專線“打通”,進而保證傳輸品質。國内通常使用3個核心就可以覆寫國内的主要營運商和區域,5個核心基本就能全覆寫所有邊緣節點。鍊路選優問題是需要進行長期的實時資料監控的。比如,直播流在哪個彙聚核心,是彙聚核心之間互相能拉到流的基礎。如果需要考慮一些異常節點無法使用的情況,那麼就需要進行對應的資料清理。需要注意的是:多一級拉流會增加首屏時間。

2.保證每個彙聚核心都有流

即下行邊緣無論如何都能拉到流。這一架構的優點就是不需要使用資料庫進行記錄是推到了哪個核心,但是也容易存在以下幾個問題。

(1)上行邊緣到兩個核心的品質無法保證,如果上行邊緣到某個彙聚核心的鍊路品質較差,那麼從這個彙聚核心拉流的使用者觀看品質肯定會很差。

(2)上行邊緣是需要推兩份流到彙聚核心的,這樣一來就會造成一定的帶寬浪費。對于直播來說,帶寬的耗費遠遠要比主播的收益要高得多。

(3)為了解決上行邊緣到所有核心的鍊路問題,就需要選取很多的中轉節點,或者是使用BGP的機房作為上行邊緣,這樣就會耗費更大的成本。

視訊直播軟體開發不得不引起重視的網絡架構問題
在視訊直播軟體開發過程中,CDN的架構也是相當重要的。至于選擇哪種架構,還是要根據直播平台自身的定位和資金等方面來決定的。           

本文聲明原創,轉載請注明出處。