2021年3月20日,融云X-Meetup技術沙龍首站在重慶啟航。本次沙龍,融云WebRTC開發(fā)工程師蘇道、殼殼互聯(lián)軟件工程師張熙文、融云IM高級研發(fā)工程師齊新兵、探探科技國際化技術負責人王偉四位技術大咖,圍繞如何實現(xiàn)“高質(zhì)量高并發(fā)的實時通信架構(gòu)的設計”這一主題,向開發(fā)者們分享了寶貴的實踐經(jīng)驗。
X-Meetup技術沙龍:重慶站
融云《大規(guī)模音視頻會議實踐》和《大規(guī)模即時通訊客戶端日志系統(tǒng)實踐》的演講,分別從RTC和IM通信云全線產(chǎn)品,向開發(fā)者介紹了超大規(guī)模會議場景優(yōu)化策略、如何做好日志系統(tǒng)及效果評估,解答了開發(fā)者關于底層通信架構(gòu)設計的困惑;殼殼互聯(lián)和探探科技也各自分享了在實踐中的系統(tǒng)優(yōu)化策略。
大規(guī)模音視頻會議的通信架構(gòu)優(yōu)化設計策略
疫情打破了空間的局限,音視頻會議越來越普遍,大家接納并更習慣了線上會議的便捷性。進入2021年,隨之而來的一個變化就是,大規(guī)模以及超大規(guī)模(500人)的音視頻會議需求悄然在增長。
在超過20 人會議場景下,現(xiàn)有的多對多網(wǎng)絡架構(gòu)SFU 與 WebRTC 的兼容場景就無法很好地解決。如果500人的會議,直接選擇參會人之間進行音視頻互動,音視頻數(shù)據(jù)的完全轉(zhuǎn)發(fā)對服務器資源的需求是巨大的,再加上會議中有大量人員同時接入,服務端上行流量和下行流量陡增,更加劇了服務器資源的壓力。
融云WebRTC開發(fā)工程師 蘇道 現(xiàn)場答疑
在不穩(wěn)定的網(wǎng)絡環(huán)境中,要解決上述問題,同時還要保障通信質(zhì)量的穩(wěn)定性,最根本的方案是設計合理的通信架構(gòu)。融云蘇道分享道,可以通過按需訂閱與轉(zhuǎn)發(fā)、優(yōu)化音頻流量兩種策略優(yōu)化通信架構(gòu),在保證效果的前提下,將極大緩解服務器的壓力。
具體來說,按需訂閱與轉(zhuǎn)發(fā)策略 應做到以下幾點:第一、支持單獨訂閱某個人的某路視頻或某路音頻;第二、接收端僅訂閱正在說話的人的視頻,音頻全部訂閱;第三、按需訂閱視頻大小流。目前,融云 SDK 支持發(fā)送端視頻編碼,支持大小流、接收端按需訂閱大流或小流。大流的清晰度高,碼率高;小流的清晰度低,碼率低。這樣當接收端想觀看清晰視頻的時候訂閱大流;對清晰度要求不高的時候訂閱小流。另外,弱網(wǎng)下融云支持自動切換大小流,以保證視頻的流暢性。
優(yōu)化音頻流量策略,降低音頻流量 則主要應做到:第一、發(fā)送端靜音時不發(fā)送數(shù)據(jù);第二、調(diào)整音頻碼率;第三、服務器下發(fā)音量 Top N 路。一般情況下,客戶端收到音頻流,在音頻解碼后,默認僅混流播放音量最大的 3 路聲音。因此一定要避免不必要的音頻包的轉(zhuǎn)發(fā),以減少服務流量,只有有效音頻包,才會進入到下行分發(fā)隊列。
除此之外,為了優(yōu)化音頻體驗,還需注意級聯(lián)情況的處理、大會議室房間和普通房間之間的切換等多個方面。最后,蘇道鼓勵開發(fā)者道,“架構(gòu)從沒有失敗和成功之說,都是先做得出來且能夠用,然后再進一步優(yōu)化迭代,滿足更多人、更多場景的需要。”
大規(guī)模即時通訊的客戶端日志系統(tǒng)實踐
日志是記錄系統(tǒng)中各種問題信息的關鍵,大規(guī)模即時通訊的客戶端日志系統(tǒng)包含了海量數(shù)據(jù)。隨著業(yè)務的發(fā)展與增長,日志平臺也要經(jīng)歷迭代升級。絕大部分開發(fā)者對日志系統(tǒng)的要求是:完整性、及時性、上傳成功率、以及可視性。
針對以上訴求,融云IM高級研發(fā)工程師齊新兵分享了日志系統(tǒng)如何升級的實踐。他認為,日志系統(tǒng)首先要做到靈活控制日志上傳。 根據(jù)每家客戶應用下發(fā)日志配置,日志上傳時間最好間隔在10秒左右,并允許上傳失敗重試5次,以確保日志上傳的及時性和上傳的成功率;同時還要有被動上傳和主動上傳機制,以方便針對性的排查問題。
其次,保證移動端日志統(tǒng)一 。這需要統(tǒng)一編寫日志模塊,保證邏輯統(tǒng)一;梳理標簽,保證日志標簽內(nèi)容一致;統(tǒng)一編寫底層數(shù)據(jù)庫模塊,數(shù)據(jù)格式要兩端一致,從而有效保證日志的可視性和完整性。除此之外,還要有日志標簽黑名單功能,黑名單內(nèi)的日志不再入庫,不再上傳,一定程度上減少日志量,減輕服務器的成本壓力。
日志最重要的意義在于先于客戶發(fā)現(xiàn)問題,同時也能夠及時發(fā)現(xiàn)自身問題,確保以高質(zhì)量的 SDK 服務客戶。因此,齊新兵認為,大規(guī)模即時通訊的客戶端日志系統(tǒng)在研發(fā)過程中,需要多測試,不怕暴露其中的問題,才能提升開發(fā)者體驗。
直播社交及社交的系統(tǒng)架構(gòu)實踐
在直播社交領域,殼殼互聯(lián)軟件工程師張熙文分享了《直播社交系統(tǒng)架構(gòu)升級》的最佳實踐,他認為,影響直播社交日活的重要指標是用戶感知和視覺體驗。簡單說,用戶感知就是如何減少延遲,理論上直播延遲超過150-200ms便可以被人腦感知。實踐中,殼殼互聯(lián)在服務端和客戶端分別進行技術協(xié)議和技術方案的優(yōu)選,最終達到接口請求速度增加20-40%、單位時間內(nèi)服務器請求承載量增加30%左右,用戶在直播社交中的感知速度提升。
直播社交受眾對視覺體驗的要求更高,這主要指主題皮膚的框架設計,包括合理修改UI元素的屬性、重新布局特定UI元素、可運營主題皮膚、可出售主題皮膚等,因此,張熙文特別分享了主題皮膚的設計框架技術圖,啟發(fā)開發(fā)者從中獲得新的思考。
殼殼互聯(lián)張熙文分享主題皮膚的設計框架技術圖
此外,探探科技國際化技術負責人王偉也帶來了《基于探探IM系統(tǒng)的優(yōu)化分享》。從
探探IM架構(gòu)、接入層、轉(zhuǎn)發(fā)層和服務層、通信協(xié)議、通知機制等不同方面介紹了探探對高
并發(fā)下的高質(zhì)量實時通信架構(gòu)設計的探索。
X-Meetup技術沙龍下一站:南京
X-Meetup技術沙龍是融云2020年組織發(fā)起的,圍繞"全球通信云技術的發(fā)展與探索" 為主題,每期邀請?zhí)囟ㄐ袠I(yè)的技術大咖作為神秘“X”人,與融云一起分享開發(fā)者最為關心的前沿技術和最佳實踐。今年首站重慶啟航后,下一站3月27日南京站正在火熱報名中,融云期待與開發(fā)者們共敘音視頻實戰(zhàn)的困境和解決之道,報名到會的開發(fā)者,還將享有專屬驚喜禮品,以及與“X”技術大咖單獨交流的機會。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!