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