7月24日,以“新視界·連未來”為主題的第三屆全球互聯(lián)網(wǎng)通信云大會(huì)(WICC 2021)在北京成功舉辦。作為 WICC 的主辦方,全球互聯(lián)網(wǎng)通信云領(lǐng)導(dǎo)廠商融云在“網(wǎng)絡(luò)傳輸與系統(tǒng)架構(gòu)”的技術(shù)分論壇中,發(fā)表了《融云構(gòu)建全球一體化網(wǎng)絡(luò)的設(shè)計(jì)解析》的主題演講。
融云首席架構(gòu)師李淼為開發(fā)者全面解析了融云 RTC 和 IM 全球網(wǎng)絡(luò)的設(shè)計(jì)要點(diǎn)和質(zhì)量監(jiān)控體系,從架構(gòu)層面詮釋了融云為開發(fā)者提供的全球化服務(wù)能力。
構(gòu)建全球網(wǎng)絡(luò)的問題與難點(diǎn)
李淼首先介紹了融云全球通信網(wǎng)絡(luò)最大的特點(diǎn)是:因業(yè)務(wù)場(chǎng)景不同,RTC 實(shí)時(shí)音視頻和IM 即時(shí)通訊分別采用了不同的網(wǎng)絡(luò)傳輸架構(gòu)方案。從業(yè)務(wù)場(chǎng)景上看,RTC 用于已確定且在線設(shè)備間的實(shí)時(shí)音視頻數(shù)據(jù)傳輸,數(shù)據(jù)不需要中心介質(zhì)存儲(chǔ),架構(gòu)設(shè)計(jì)上采用了全球去中心化分布網(wǎng)絡(luò);IM 無法確定接收端是否在線,因此需要離線消息存儲(chǔ),架構(gòu)設(shè)計(jì)上采用中心化架構(gòu)。
在服務(wù)全球開發(fā)者的過程中,李淼認(rèn)為構(gòu)建全球網(wǎng)絡(luò)的問題與難點(diǎn)主要在于網(wǎng)絡(luò)連通率、數(shù)據(jù)傳輸延時(shí)、網(wǎng)絡(luò)抖動(dòng)、網(wǎng)絡(luò)覆蓋率、數(shù)據(jù)的實(shí)時(shí)監(jiān)控、質(zhì)量改進(jìn)方案和 QoE 質(zhì)量體驗(yàn)。為了解決這些問題,融云分別基于 UDP 和 TCP,搭建了 RTC 和 IM 的全球傳輸網(wǎng)絡(luò),最終形成了覆蓋全球的一體化通信網(wǎng)。
融云RTC全球通信網(wǎng)絡(luò)的基本能力
融云所構(gòu)建的 RTC 底層網(wǎng)絡(luò)通信架構(gòu),擁有用戶就近接入、服務(wù)節(jié)點(diǎn)級(jí)聯(lián)、節(jié)點(diǎn)專線網(wǎng)絡(luò)連接、動(dòng)態(tài)鏈路調(diào)度和去中心化的邊緣節(jié)點(diǎn)架構(gòu)五大基礎(chǔ)能力。演講中,李淼重點(diǎn)介紹了去中心化的架構(gòu)設(shè)計(jì)和動(dòng)態(tài)鏈路調(diào)度能力。
在架構(gòu)設(shè)計(jì)上,融云 RTC 全球網(wǎng)絡(luò)部署完全是去中心化的,部署的每一個(gè)邊緣節(jié)點(diǎn),都無需通知任何一個(gè)狀態(tài)服務(wù)器。訂閱關(guān)系基于發(fā)布時(shí)產(chǎn)生的地址,通過 IM 推送給對(duì)端用戶。對(duì)于邊緣節(jié)點(diǎn)而言, MediaServer 是整個(gè)音視頻通信的核心,除此之外的附加服務(wù)還包括 MCU,用于合流服務(wù)、錄像服務(wù)、審核服務(wù)、以及直播類向 CDN 的推流服務(wù)等。
在動(dòng)態(tài)鏈路調(diào)度上,分為客戶端的節(jié)點(diǎn)選擇策略和服務(wù)端的級(jí)聯(lián)策略。
從客戶端看,如果是海外用戶,就近節(jié)點(diǎn)則優(yōu)先選擇 BGP Anycast,其特點(diǎn)在于用戶在全網(wǎng) IP 唯一,可基于 IP 直接訪問距離最近的節(jié)點(diǎn);中國(guó)國(guó)內(nèi)和禁運(yùn)國(guó)的用戶,由于 Anycast IP 無法在運(yùn)營(yíng)商預(yù)撥,因此就近節(jié)點(diǎn)優(yōu)先選擇 SmartDNS 接入。此外,為確保用戶的最佳體驗(yàn),融云會(huì)對(duì)所有終端用戶下發(fā)多條鏈路,讓客戶可以智能探測(cè),從中選擇一條質(zhì)量最好的鏈路。
從服務(wù)端看,首先是內(nèi)網(wǎng)級(jí)聯(lián)優(yōu)先,即多個(gè)數(shù)據(jù)中心通過專線網(wǎng)絡(luò)進(jìn)行級(jí)聯(lián)。其次是公網(wǎng)級(jí)聯(lián),一旦內(nèi)網(wǎng)發(fā)生故障,則自動(dòng)降級(jí)到公網(wǎng),通過現(xiàn)有的互聯(lián)網(wǎng)完成級(jí)聯(lián)。第三是多級(jí)級(jí)聯(lián),倘若內(nèi)網(wǎng)、公網(wǎng)都出現(xiàn)問題,融云會(huì)選擇架構(gòu)中的一個(gè)中繼節(jié)點(diǎn)進(jìn)行服務(wù)器的再次轉(zhuǎn)發(fā)。
李淼從最佳實(shí)踐的角度建議,多以硬件或網(wǎng)絡(luò)的方式來解決問題而不是通過算法,可使網(wǎng)絡(luò)質(zhì)量更加穩(wěn)定、可靠。
融云第三代IM全球網(wǎng)絡(luò)的四大特點(diǎn)
為了確保全球用戶可以正常地使用融云的 IM 即時(shí)通訊服務(wù),融云自2015年起就自建了 IM 全球網(wǎng)絡(luò),至2020年已迭代到第三代。第三代IM全球通信網(wǎng)絡(luò)是基于 Anycast 的一體化加速網(wǎng)絡(luò),具備多協(xié)議支持、支持接入多數(shù)據(jù)中心、分配策略基于 SmartDNS & Anycast 方式、全球網(wǎng)絡(luò)鏈路優(yōu)化等四大特點(diǎn)。
李淼重點(diǎn)介紹了多協(xié)議支持和支持接入多數(shù)據(jù)中心這兩個(gè)特點(diǎn)。其中,多協(xié)議支持除了融云自有 IM 協(xié)議,還包括 http、https、websocket 等其它協(xié)議;支持接入多數(shù)據(jù)中心,是指融云在國(guó)內(nèi)和海外擁有多個(gè)數(shù)據(jù)中心的情況下,客戶先將消息匯聚到路由節(jié)點(diǎn),根據(jù)就近分配原則接入最近的數(shù)據(jù)中心,進(jìn)行信息的流轉(zhuǎn)。
通過質(zhì)量監(jiān)控為用戶體驗(yàn)保駕護(hù)航
“目前,融云全球通信網(wǎng)絡(luò)承載的日均消息在200億左右,每天實(shí)際處理的峰值超過2000億,每小時(shí)處理的峰值超過900億。要保證如此大體量的平臺(tái)穩(wěn)定運(yùn)行,質(zhì)量監(jiān)控手段至關(guān)重要!崩铐到榻B說。
融云 RTC 全球網(wǎng)絡(luò)的質(zhì)量監(jiān)控手段包括客戶端日志及實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)、服務(wù)端日志及實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)、實(shí)時(shí)數(shù)據(jù)運(yùn)算和監(jiān)控報(bào)警。以客戶端日志的收集策略為例,李淼介紹,為了保證日志收集成功率,一旦客戶端打開服務(wù),每10秒就自動(dòng)向服務(wù)器上傳錯(cuò)誤數(shù)據(jù),這樣有利于提高日志收集的準(zhǔn)確性和完整度,有了日志做基礎(chǔ),才能對(duì)客戶端的網(wǎng)絡(luò)質(zhì)量進(jìn)行持續(xù)優(yōu)化。
除了監(jiān)控手段外,在監(jiān)控質(zhì)量上,融云RTC全球網(wǎng)絡(luò)關(guān)注 QoS (服務(wù)質(zhì)量)和 QoE (體驗(yàn)質(zhì)量)兩方面的質(zhì)量。QoS 涉及網(wǎng)絡(luò)延遲、終端帶寬、網(wǎng)絡(luò)丟包率、終端誤碼率和網(wǎng)絡(luò)抖動(dòng)五個(gè)維度;QoE 僅體現(xiàn)在音視頻質(zhì)量中,包括環(huán)境、用戶和服務(wù),主要是以人為本進(jìn)行的評(píng)估。
而對(duì)IM全球網(wǎng)絡(luò)的質(zhì)量監(jiān)控而言,融云更關(guān)注 QoS 而非 QoE 。QoS 包括網(wǎng)絡(luò)連接成功率、數(shù)據(jù)傳輸延時(shí)、網(wǎng)絡(luò)抖動(dòng)和網(wǎng)絡(luò)覆蓋率等。其中重點(diǎn)要監(jiān)控網(wǎng)絡(luò)連接成功率,這主要以時(shí)間維度+地理維度+應(yīng)用維度+終端類型維度進(jìn)行綜合分析,從而快速定位終端所出現(xiàn)的SDK問題,快速解決問題。
結(jié)語
全球通信網(wǎng)持續(xù)優(yōu)化無止境。未來,融云將持續(xù)加大網(wǎng)絡(luò)建設(shè)的投入,一方面部署更多邊緣節(jié)點(diǎn),提升網(wǎng)絡(luò)覆蓋率;另一方面,在不斷迭代的 SDK 中,增加新的數(shù)據(jù)埋點(diǎn),豐富質(zhì)量數(shù)據(jù)監(jiān)控類型及收集手段,提升 SDK 質(zhì)量和網(wǎng)絡(luò)質(zhì)量。此外,融云還將嘗試 AI 網(wǎng)絡(luò)預(yù)測(cè)和無人值守運(yùn)維,通過大數(shù)據(jù)方式提前預(yù)判網(wǎng)絡(luò)峰值,確保網(wǎng)絡(luò)穩(wěn)定運(yùn)行。
WICC 2021上,李淼揭秘的融云RTC和IM全球通信網(wǎng)絡(luò),覆蓋全球233個(gè)國(guó)家和地區(qū),擁有數(shù)千個(gè)加速節(jié)點(diǎn)和多個(gè)海外數(shù)據(jù)中心,能夠讓世界上每一個(gè)用戶都獲得最佳的通信體驗(yàn)。