
融云X-Meetup技術(shù)沙龍 南京站現場(chǎng)
音視頻SDK架構設計,重在穩定可靠
沙龍上,融云音視頻工具研發(fā)工程師王煒首先發(fā)表了《融云音視頻 SDK 架構分享與應用》的演講。他認為,談到 SDK 架構設計,融云音視頻 SDK 因簡(jiǎn)潔易用、通俗易懂、可分層架構、可替換可復用、易于維護等諸多優(yōu)點(diǎn),為廣大開(kāi)發(fā)者所熟知。這既是融云音視頻SDK架構設計的經(jīng)驗總結,也是融云音視頻SDK架構設計的總原則。
目前,融云音視頻SDK架構主要由API接口層、數據模型層、會(huì )話(huà)管理層、基礎組件層和信令層組成。在數據模型層,設計應面向業(yè)務(wù)邏輯、面向用戶(hù),要關(guān)注數據模型不同的生命周期,兼顧讀開(kāi)放、寫(xiě)限制。尤其不可忽視的是要做好保護性拷貝,以便后續的運營(yíng)維護。

融云音視頻SDK架構
在分享會(huì )話(huà)管理層的設計要點(diǎn)時(shí),王煒直接以框架設計圖來(lái)闡釋音視頻采集、前處理、編碼、傳輸、解碼、后處理、渲染各狀態(tài)相互之間的邏輯關(guān)系。簡(jiǎn)捷而直觀(guān)的表達,幫助開(kāi)發(fā)者更好地理解其設計的精髓。

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