2021年3月27日,融云X-Meetup技術沙龍第二站落地南京。這場以“高質量高并發的實時通信架構設計與探索”為主題的開發者活動,邀請到融云音視頻工具研發工程師王煒、IM 高級研發工程師齊新兵、殼殼互聯軟件工程師張熙文、虎克CEO過巍四位大咖,向現場的開發者們分享了各自領域的干貨。
融云X-Meetup技術沙龍 南京站現場
音視頻SDK架構設計,重在穩定可靠
沙龍上,融云音視頻工具研發工程師王煒首先發表了《融云音視頻 SDK 架構分享與應用》的演講。他認為,談到 SDK 架構設計,融云音視頻 SDK 因簡潔易用、通俗易懂、可分層架構、可替換可復用、易于維護等諸多優點,為廣大開發者所熟知。這既是融云音視頻SDK架構設計的經驗總結,也是融云音視頻SDK架構設計的總原則。
目前,融云音視頻SDK架構主要由API接口層、數據模型層、會話管理層、基礎組件層和信令層組成。在數據模型層,設計應面向業務邏輯、面向用戶,要關注數據模型不同的生命周期,兼顧讀開放、寫限制。尤其不可忽視的是要做好保護性拷貝,以便后續的運營維護。
融云音視頻SDK架構
在分享會話管理層的設計要點時,王煒直接以框架設計圖來闡釋音視頻采集、前處理、編碼、傳輸、解碼、后處理、渲染各狀態相互之間的邏輯關系。簡捷而直觀的表達,幫助開發者更好地理解其設計的精髓。
會話管理層合理設計架構
在基礎組件層,王煒指出,因其面向底層設備硬件資源,是一個獨立的任務管理系統,因此要更注重模塊功能的內聚,具備非直接耦合和接口隔離;而信令層的設計,則要求能夠封裝IM信令通道和進行Http請求,使之具有獨立于業務功能的邏輯,不僅要有基本的通信能力,還可拆包、封包,并且不允許跨層調用。
大規模即時通訊客戶端日志系統,重在發現問題
目前,融云 SDK 服務 30 萬款 App, 總觸達數超過 50 億,日均消息量突破 150 億,日均活躍用戶 7000 萬,日消息峰值高達 2218 億條,秒峰值消息 2000 萬條。這些數據實實在在地見證了融云大規模通信架構的高光時刻。
在高光時刻的背后,融云IM 高級研發工程師齊新兵坦言,“當一秒鐘要完成 2000 萬條消息的分發時,不只是我們自己的研發、運維團隊,甚至是我們運營商、機房的人都時刻在擔心各種意想不到的故障。”因此,能夠先于客戶發現問題,并及時發現自身問題,確保以高質量的 SDK 服務客戶,融云大規模即時通訊客戶端日志系統就顯得極為重要。
能否完整、及時地把系統中出現的問題反應出來,并在成功率和可視化方面擁有出眾表現,是大規模即時通訊客戶端日志系統設計的主要訴求。靈活控制日志上傳、保證移動端日志統一、保證上傳成功率,以及標簽日志黑名單功能,這些都是日志系統設計和升級要點。
例如,要做到靈活控制日志上傳,應根據每家客戶應用下發日志配置,滿足不同的平臺和版本,要設置好上傳時間間隔和失敗重試次數,確保日志上傳的成功率和及時性。同時,還要做到靈活控制被動上傳和主動上傳,以便有針對性地排查問題:被動上傳含日志開關與上傳級別,方便關閉與控制;主動上傳則可拉取指定用戶特定時間段內的所有日志。
在設計中,保證移動端日志統一,則能有效保證日志的可視性和完整性。此外,合理利用日志標簽黑名單功能,使黑名單內的日志不再入庫上傳,在實踐中可極大減少日志量,從而減輕服務器的成本壓力。
直播社交 依靠融云高質量通信架構的設計
作為X-Meetup技術沙龍活動的“X”嘉賓,虎克CEO過巍分享了公司的發展歷程及直播行業對PaaS通信云能力的需求。虎克自2012年開始進入商業直播領域,其形式主要是會議直播,這與現在經常看到的娛樂直播和秀場直播都不同,差異在于視頻格式、物理環境不同,線上會議直播與線下內容的交互更強關聯,因此對實時性的要求也比較高。隨后,虎克進入了秀場直播領域,比如線上抓娃娃,直播社交等多種應用場景。
在公司發展過程中,虎克看到了越來越多有商業價值的應用場景都需要底層通信技術賦能,而想要擁有穩定可靠的通信云能力,不是一家初創公司花半年甚至一年時間,找十幾個、二十幾個工程師能夠做得出來的。
為了快速發展,虎克最終選擇與融云牽手合作。合作后,虎克負責應用場景和商業價值的實現,而所有與底層通信云相關的技術與服務都交給融云。目前,虎克已推出60多款應用產品,覆蓋超過90%的典型場景,單一應用產品用戶量已經突破百萬。最為難得的是,所有應用產品用戶體驗是零投訴,這完全依賴于融云穩定、可靠的高質量高并發的實時通訊架構。
此外,直播社交領域的殼殼互聯軟件工程師張熙文也分享了《直播社交系統架構升級》的最佳實踐,認為用戶感知和視覺體驗應成為架構升級過程中,重點被解決的問題,并以視覺體驗中的主題皮膚設計為例,詳細向開發者介紹了該設計的框架技術圖。
結語
娛樂社交、電商直播等應用場景,都需要音視頻和IM核心功能來支撐,而行業紅利的爆發,用戶規模的指數級增長,又需要不斷升級迭代的架構來保障用戶體驗。因此,掌握高質量高并發的實時通信的架構設計越來越成為開發者的必備技能。融云X-Meetup南京站技術沙龍,為開發者提供了交流的平臺與機會,期待2021年下一站再相遇。