直播APP軟件開發,直播系統開發的技術架構揭祕

直播平臺的技術架構揭祕直播APP軟件開發
2020年春節的這場疫情讓線下零售降至冰點,但是卻帶火了直播應用。直播電商、直播教育等各類直播應用可謂贏得了歷史性的機會,很多大衆開始接受並認可這種新型應用的便利和價值,個人感覺隨着5G的普及,『直播+垂直領域+精細化的私域流量』將會是互聯網的一個大熱點,迎來真正的紅利期。

直播行業大概在10年多前就開始興起了,秀場直播和遊戲直播是PC時代比較成功的應用場景,直到16年,隨着移動互聯網的大規模普及,直播行業迎來了真正的元年,成百上千的直播APP出現在大衆視野,大概在18年年初,直播答題當時火了一把,那算是直播類應用的第一次全民普及,然後是19年短視頻網站掀起的直播電商。回顧直播行業的發展歷程,直播類應用在各個領域遍地開花,那麼它背後的技術架構你是否瞭解?

兩年前,我參與了一個支持100萬用戶同時在線、20萬併發的直播答題系統的架構設計,下文將以『直播答題』的應用場景爲例,帶你瞭解當前疫情下火爆的直播應用背後的技術架構。內容分成以下4個部分:

1、產品功能簡介

2、面臨的技術挑戰

3、技術選型及依據

4、架構設計方案

01 產品功能簡介
直播答題能在當時成爲風口,得益於它的玩法足夠簡單,用戶教育成本幾乎爲0。簡單來說就是:全民在線PK、10秒答題、超時或答錯即退出遊戲、成功答對所有題即可平分獎金,俗稱在線版的開心辭典。

直播APP軟件開發在瞭解系統設計方案和架構之前,先看看直播答題應用有哪些核心功能?下面是APP端的幾張產品截圖:
在這裏插入圖片描述

1、答題以活動的形式展開,每場活動都會預先公佈直播開始時間、答題總獎金、紅包雨獎金等信息。

2、活動時間到後,用戶就可以進入直播間,看到實時的視頻流,有專業的主持人進行串詞口播,場控人員會配合主持人同步進行發題、公佈答案等操作。

3、題目下發後,用戶有10秒的作答時間,答錯或者超時即退出遊戲,如果用戶有復活道具在答錯時會自動使用,用戶能繼續進行答題。

4、爲了留住答錯用戶,活動期間有多場紅包雨,用戶點擊屏幕就有概率搶到。

5、活動期間用戶可發彈幕,同時會有彈幕滾屏輪播,以營造熱鬧的直播氛圍。

6、其他功能:邀請新人、活動榜單、獎金提現等。

其他直播類應用在產品功能上和直播答題類似,基本也是這兩類:
1、直播的基礎功能:連麥互動直播(支持多碼率、多協議,多主播同框)、美顏特效、彈幕、IM聊天、點贊、屏幕共享等功能性需求,以及防盜鏈、涉黃涉政鑑別等非功能性需求。

2、應用本身的個性化功能:比如答題場景中的發題目、作答、公佈答案,電商場景中的商品展示、一鍵下單購買,網紅直播場景中的禮物打賞。

02直播APP軟件開發 面臨的技術挑戰
當時我們做直播答題應用時,面臨以下技術挑戰:

1、音視頻處理及傳輸:涉及音視頻編碼、實時美顏、視頻推流、CDN加速分發、終端適配和播放,流量統計等諸多技術點,而且我們當時的技術團隊沒有專門做音視頻方面的專家。

2、高併發請求:參考了衝頂大會等答題競品的用戶量級,預計會有100W用戶同時在線,1秒內有20W用戶同時答題;1秒內單個用戶可觸屏發起4-5次搶紅包請求,併發最大可達到500W QPS.

3、高帶寬壓力:按照標清視頻的標準,觀看直播的碼流至少爲1Mbps,如果100W用戶在線,光視頻流的出口帶寬能達到976.56G bps。1條彈幕可達到130字節,1秒要滾屏20條彈幕,如果需要同時推送給100W用戶,彈幕的出口帶寬也將達到19.37G bps.

4、高計算壓力:1道題目的對錯判斷涉及到答案比對、復活道具的使用、判斷用戶是否創了新紀錄,同時還涉及一系列的反作弊策略(比如前面的題目答錯了將無法繼續作答),在主持人口播公佈答案的瞬間,如何快速完成100W用戶的答題結果計算?

5、資金流的正確性和安全性:單個用戶最多搶3個紅包如何不多領?財務上如何保證答題獎金、紅包獎勵不出現1分錢的誤差?

6、低延遲性要求:直播場景下如何整合視頻流和業務數據流,做到聲音、主播畫面和題目同步,以保證用戶體驗?

7、對商城交易業務的低干擾:直播答題僅作爲商城的一個運營活動,核心目標是導流,它依託商城原有的用戶體系,運營系統,大數據系統,提現通道等,如何做到對商城現有交易系統的低干擾?

可見直播APP軟件開發答題這種泛娛樂的直播場景還是有挺多技術挑戰的,它取決於直播應用的用戶量級和業務流程。就算是直播電商這種低頻交易轉化的場景,要是李佳琪在帶貨,同樣也會面臨瞬時搶購的高併發挑戰,所以架構設計時必須考慮業務最高峯時的壓力,並且系統的各個環節必須具備動態可伸縮的能力。