影片直播軟體開發不得不引起重視的網路架構問題
直播在網際網路市場中一直都處於穩定發展的局面,雖然直播行業經歷了不同時期的洗牌和考驗,但它還是依靠自身強大的變現能力 “存活”到現在。而且隨著即將統一運營商服務和流量資費的不斷下調,更是給影片直播軟體開發業務提供了發展“溫床”,比如接下來我要給大家分享的內容,開發過程中需要注意的網路架構相關。本文主要以 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 『網際網路架構』軟體架構-mybatis體系結構(14)架構MyBatis
- 『網際網路架構』軟體架構-環境搭建maven(三)架構Maven
- 軟體架構:問題起源和應對架構
- 開發網路影片直播系統需要注意的地方
- 多租戶軟體開發架構架構
- 如何排查網路問題-開發眼裡的網路
- 一,現代軟體開發架構思想架構
- 北京樂維世紀網路開發仿快手抖音直播軟體1v1美女視訊直播app!APP
- 直播軟體app開發,VUE解決錨點重新整理問題APPVue
- FFmpeg開發筆記(四十八)從0開始搭建直播系統的開源軟體架構筆記架構
- Java面試題精選,大型網站系統架構你不得不懂的10個問題Java面試題網站架構
- 敏捷開發——網際網路時代的軟體開發方式敏捷
- 直播軟體開發關於Android、iOS中的影片採集步驟AndroidiOS
- 軟體開發丨關於軟體重構的靈魂四問
- 直播軟體開發完成後音影片內容是如何“走出去的”?
- 影片直播軟體開發:Android客戶端接入谷歌支付的實現流程Android客戶端谷歌
- 開發直播軟體需要走的流程
- 軟體架構一致性 —— 被忽視的研發成本架構
- 想進行直播軟體開發,先解決好頻寬問題再說其他的
- 【面試精選】關於大型網站系統架構你不得不懂的10個問題面試網站架構
- 網路視訊直播系統開發,視訊解碼是如何實現的?
- 如何應對軟體開發中的估算問題?
- 軟考 - 系統架構設計師(基於中介軟體的開發)架構
- MimoLive for Mac影片直播製作軟體Mac
- ??微服務架構:軟體開發的革命還是短暫潮流?微服務架構
- 軟體開發人員如何提升自己的架構設計能力?架構
- 【大型軟體開發】淺談大型Qt軟體開發(四)動態連結庫的宏衝突問題、COM元件開發的常見問題QT元件
- 直播軟體app開發與相愛相殺的短影片如何共同穩住局面APP
- 軟體架構發展歷程分享架構
- 先行課改校,課堂上這九個問題應引起重視
- 架構之:軟體架構漫談架構
- 如何使用手機代理軟體來解決網路訪問受限的問題?
- Go記憶體架構,一個有趣的問題Go記憶體架構
- 直播平臺軟體開發,實現自定義標題欄
- 京東雲開發者|軟體架構視覺化及C4模型:架構設計不僅僅是UML架構視覺化模型
- 直播軟體開發,ScheduledExecutorService定時器的使用定時器
- 直播系統開發遇到的三大問題
- 5G直播課程題庫免費學習|5G網路架構架構