融云首席架構師李淼為開(kāi)發(fā)者全面解析了融云 RTC 和 IM 全球網(wǎng)絡(luò )的設計要點(diǎn)和質(zhì)量監控體系,從架構層面詮釋了融云為開(kāi)發(fā)者提供的全球化服務(wù)能力。

構建全球網(wǎng)絡(luò )的問(wèn)題與難點(diǎn)
李淼首先介紹了融云全球通信網(wǎng)絡(luò )最大的特點(diǎn)是:因業(yè)務(wù)場(chǎng)景不同,RTC 實(shí)時(shí)音視頻和IM 即時(shí)通訊分別采用了不同的網(wǎng)絡(luò )傳輸架構方案。從業(yè)務(wù)場(chǎng)景上看,RTC 用于已確定且在線(xiàn)設備間的實(shí)時(shí)音視頻數據傳輸,數據不需要中心介質(zhì)存儲,架構設計上采用了全球去中心化分布網(wǎng)絡(luò );IM 無(wú)法確定接收端是否在線(xiàn),因此需要離線(xiàn)消息存儲,架構設計上采用中心化架構。

在服務(wù)全球開(kāi)發(fā)者的過(guò)程中,李淼認為構建全球網(wǎng)絡(luò )的問(wèn)題與難點(diǎn)主要在于網(wǎng)絡(luò )連通率、數據傳輸延時(shí)、網(wǎng)絡(luò )抖動(dòng)、網(wǎng)絡(luò )覆蓋率、數據的實(shí)時(shí)監控、質(zhì)量改進(jìn)方案和 QoE 質(zhì)量體驗。為了解決這些問(wèn)題,融云分別基于 UDP 和 TCP,搭建了 RTC 和 IM 的全球傳輸網(wǎng)絡(luò ),最終形成了覆蓋全球的一體化通信網(wǎng)。
融云RTC全球通信網(wǎng)絡(luò )的基本能力
融云所構建的 RTC 底層網(wǎng)絡(luò )通信架構,擁有用戶(hù)就近接入、服務(wù)節點(diǎn)級聯(lián)、節點(diǎn)專(zhuān)線(xiàn)網(wǎng)絡(luò )連接、動(dòng)態(tài)鏈路調度和去中心化的邊緣節點(diǎn)架構五大基礎能力。演講中,李淼重點(diǎn)介紹了去中心化的架構設計和動(dòng)態(tài)鏈路調度能力。
在架構設計上,融云 RTC 全球網(wǎng)絡(luò )部署完全是去中心化的,部署的每一個(gè)邊緣節點(diǎn),都無(wú)需通知任何一個(gè)狀態(tài)服務(wù)器。訂閱關(guān)系基于發(fā)布時(shí)產(chǎn)生的地址,通過(guò) IM 推送給對端用戶(hù)。對于邊緣節點(diǎn)而言, MediaServer 是整個(gè)音視頻通信的核心,除此之外的附加服務(wù)還包括 MCU,用于合流服務(wù)、錄像服務(wù)、審核服務(wù)、以及直播類(lèi)向 CDN 的推流服務(wù)等。
在動(dòng)態(tài)鏈路調度上,分為客戶(hù)端的節點(diǎn)選擇策略和服務(wù)端的級聯(lián)策略。

從客戶(hù)端看,如果是海外用戶(hù),就近節點(diǎn)則優(yōu)先選擇 BGP Anycast,其特點(diǎn)在于用戶(hù)在全網(wǎng) IP 唯一,可基于 IP 直接訪(fǎng)問(wèn)距離最近的節點(diǎn);中國國內和禁運國的用戶(hù),由于 Anycast IP 無(wú)法在運營(yíng)商預撥,因此就近節點(diǎn)優(yōu)先選擇 SmartDNS 接入。此外,為確保用戶(hù)的最佳體驗,融云會(huì )對所有終端用戶(hù)下發(fā)多條鏈路,讓客戶(hù)可以智能探測,從中選擇一條質(zhì)量最好的鏈路。
從服務(wù)端看,首先是內網(wǎng)級聯(lián)優(yōu)先,即多個(gè)數據中心通過(guò)專(zhuān)線(xiàn)網(wǎng)絡(luò )進(jìn)行級聯(lián)。其次是公網(wǎng)級聯(lián),一旦內網(wǎng)發(fā)生故障,則自動(dòng)降級到公網(wǎng),通過(guò)現有的互聯(lián)網(wǎng)完成級聯(lián)。第三是多級級聯(lián),倘若內網(wǎng)、公網(wǎng)都出現問(wèn)題,融云會(huì )選擇架構中的一個(gè)中繼節點(diǎn)進(jìn)行服務(wù)器的再次轉發(fā)。
李淼從最佳實(shí)踐的角度建議,多以硬件或網(wǎng)絡(luò )的方式來(lái)解決問(wèn)題而不是通過(guò)算法,可使網(wǎng)絡(luò )質(zhì)量更加穩定、可靠。
融云第三代IM全球網(wǎng)絡(luò )的四大特點(diǎn)
為了確保全球用戶(hù)可以正常地使用融云的 IM 即時(shí)通訊服務(wù),融云自2015年起就自建了 IM 全球網(wǎng)絡(luò ),至2020年已迭代到第三代。第三代IM全球通信網(wǎng)絡(luò )是基于 Anycast 的一體化加速網(wǎng)絡(luò ),具備多協(xié)議支持、支持接入多數據中心、分配策略基于 SmartDNS & Anycast 方式、全球網(wǎng)絡(luò )鏈路優(yōu)化等四大特點(diǎn)。

李淼重點(diǎn)介紹了多協(xié)議支持和支持接入多數據中心這兩個(gè)特點(diǎn)。其中,多協(xié)議支持除了融云自有 IM 協(xié)議,還包括 http、https、websocket 等其它協(xié)議;支持接入多數據中心,是指融云在國內和海外擁有多個(gè)數據中心的情況下,客戶(hù)先將消息匯聚到路由節點(diǎn),根據就近分配原則接入最近的數據中心,進(jìn)行信息的流轉。
通過(guò)質(zhì)量監控為用戶(hù)體驗保駕護航
“目前,融云全球通信網(wǎng)絡(luò )承載的日均消息在200億左右,每天實(shí)際處理的峰值超過(guò)2000億,每小時(shí)處理的峰值超過(guò)900億。要保證如此大體量的平臺穩定運行,質(zhì)量監控手段至關(guān)重要。”李淼介紹說(shuō)。
融云 RTC 全球網(wǎng)絡(luò )的質(zhì)量監控手段包括客戶(hù)端日志及實(shí)時(shí)業(yè)務(wù)數據、服務(wù)端日志及實(shí)時(shí)業(yè)務(wù)數據、實(shí)時(shí)數據運算和監控報警。以客戶(hù)端日志的收集策略為例,李淼介紹,為了保證日志收集成功率,一旦客戶(hù)端打開(kāi)服務(wù),每10秒就自動(dòng)向服務(wù)器上傳錯誤數據,這樣有利于提高日志收集的準確性和完整度,有了日志做基礎,才能對客戶(hù)端的網(wǎng)絡(luò )質(zhì)量進(jìn)行持續優(yōu)化。
除了監控手段外,在監控質(zhì)量上,融云RTC全球網(wǎng)絡(luò )關(guān)注 QoS (服務(wù)質(zhì)量)和 QoE (體驗質(zhì)量)兩方面的質(zhì)量。QoS 涉及網(wǎng)絡(luò )延遲、終端帶寬、網(wǎng)絡(luò )丟包率、終端誤碼率和網(wǎng)絡(luò )抖動(dòng)五個(gè)維度;QoE 僅體現在音視頻質(zhì)量中,包括環(huán)境、用戶(hù)和服務(wù),主要是以人為本進(jìn)行的評估。
而對IM全球網(wǎng)絡(luò )的質(zhì)量監控而言,融云更關(guān)注 QoS 而非 QoE 。QoS 包括網(wǎng)絡(luò )連接成功率、數據傳輸延時(shí)、網(wǎng)絡(luò )抖動(dòng)和網(wǎng)絡(luò )覆蓋率等。其中重點(diǎn)要監控網(wǎng)絡(luò )連接成功率,這主要以時(shí)間維度+地理維度+應用維度+終端類(lèi)型維度進(jìn)行綜合分析,從而快速定位終端所出現的SDK問(wèn)題,快速解決問(wèn)題。
結語(yǔ)
全球通信網(wǎng)持續優(yōu)化無(wú)止境。未來(lái),融云將持續加大網(wǎng)絡(luò )建設的投入,一方面部署更多邊緣節點(diǎn),提升網(wǎng)絡(luò )覆蓋率;另一方面,在不斷迭代的 SDK 中,增加新的數據埋點(diǎn),豐富質(zhì)量數據監控類(lèi)型及收集手段,提升 SDK 質(zhì)量和網(wǎng)絡(luò )質(zhì)量。此外,融云還將嘗試 AI 網(wǎng)絡(luò )預測和無(wú)人值守運維,通過(guò)大數據方式提前預判網(wǎng)絡(luò )峰值,確保網(wǎng)絡(luò )穩定運行。
WICC 2021上,李淼揭秘的融云RTC和IM全球通信網(wǎng)絡(luò ),覆蓋全球233個(gè)國家和地區,擁有數千個(gè)加速節點(diǎn)和多個(gè)海外數據中心,能夠讓世界上每一個(gè)用戶(hù)都獲得最佳的通信體驗。