影片直播軟體開發不得不引起重視的網路架構問題

五花肉愛原始碼發表於2019-03-20

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

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

1. 主播推流模式

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

2 上行邊緣節點將流推到匯聚核心。

3 匯聚核心收到流後,和 CDN 一樣,不需要主動將流分發到邊緣,一些轉碼 水印 錄製類 業務 通常是 在匯聚核心完成

2. 回源拉流模式

如果使用者在 訪問到匯聚核心後, 向一個回源節點拉流,回源節點向客戶源站拉流

3. 下行觀看流程

1 觀眾到邊緣節點拉取直播流

2 )在 邊緣節點上 如果存在音影片 流, 可以 直接傳送給觀眾,如果沒有 會向上一級回源

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

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

1.  鏈路選優

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

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

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

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

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

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

      在影片直播軟體開發過程中, CDN的架構也是相當重要的。至於選擇哪種架構,還是要根據直播平臺自身的定位和資金等方面來決定的。

本文宣告原創,轉載請註明出處。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69907981/viewspace-2638893/,如需轉載,請註明出處,否則將追究法律責任。

相關文章