首席架构师揭秘:RTC 和 IM 全球通信网络

首席架构师揭秘:RTC 和 IM 全球通信网络

核心技术进步是行业发展的根本动力。作为通信基础设施,云通信具有很强的行业普适性和刚需性,其业务场景几乎涵盖了整个用户生命周期。

实际上,在即时通信和实时通信技术为各行各业“保驾护航“的背后,底层架构与传输通路的支撑作用不可忽视,让低延时、高并发、高互动、高流畅的通信体验成为可能。

一网横亘全球,天堑变通途 —— 本文我们将引用融云首席架构师李淼在 WICC 2021 技术分论坛中《融云构建全球一体化网络的设计解析》的精彩主题演讲,揭秘融云 RTC 和 IM 全球网络的设计要点和质量监控体系,从架构层面诠释融云为开发者提供的全球化服务能力

(图1 WICC 现场融云首席架构师李淼发表演讲)

构建全球网络的问题与难点

李淼首先介绍了,融云全球通信网络最大的特点是:因业务场景不同,RTC 实时音视频和 IM 即时通讯分别采用了不同的网络传输架构方案。

从业务场景上看,RTC 用于已确定且在线设备间的实时音视频数据传输,数据不需要中心介质存储,架构设计上采用了全球去中心化分布网络;IM 无法确定接收端是否在线,因此需要离线消息存储,架构设计上采用中心化架构。

(图2 图片引用自讲师 PPT)

在服务全球开发者的过程中,李淼认为构建全球网络的问题与难点主要在于:网络连通率、数据传输延时、网络抖动、网络覆盖率、数据的实时监控、质量改进方案和 QoE 质量体验

为了解决这些问题,融云分别基于 UDP 和 TCP ,搭建了 RTC 和 IM 的全球传输网络,最终形成了覆盖全球的一体化通信网。

融云 RTC 全球通信网络的基本能力

融云所构建的 RTC 底层网络通信架构,拥有用户就近接入、服务节点级联、节点专线网络连接、动态链路调度和去中心化的边缘节点架构等五大基础能力。演讲中,李淼重点介绍了去中心化的架构设计和动态链路调度能力。

在架构设计上,融云 RTC 全球网络部署完全是去中心化的,部署的每一个边缘节点,都无需通知任何一个状态服务器。订阅关系基于发布时产生的地址,通过 IM 推送给对端用户。对于边缘节点而言,MediaServer 是整个音视频通信的核心,除此之外的附加服务还包括 MCU,用于合流服务、录像服务、审核服务及直播类向 CDN 的推流服务等。

在动态链路调度上,分为客户端的节点选择策略和服务端的级联策略。

(图3 图片引用自讲师 PPT)

从客户端看,如果是海外用户,就近节点则优先选择 BGP Anycast,其特点在于用户在全网 IP 唯一,可基于 IP 直接访问距离最近的节点;中国国内和禁运国的用户,由于 Anycast IP 无法在运营商预拨,因此就近节点优先选择 SmartDNS 接入。此外,为确保用户的最佳体验,融云会对所有终端用户下发多条链路,让客户可以智能探测,从中选择一条质量最好的链路。

从服务端看,首先是内网级联优先,即多个数据中心通过专线网络进行级联。其次是公网级联,一旦内网发生故障,则自动降级到公网,通过现有的互联网完成级联。第三是多级级联,倘若内网、公网都出现问题,融云会选择架构中的一个中继节点进行服务器的再次转发。

李淼从最佳实践的角度建议,多以硬件或网络的方式来解决问题而不是通过算法,可使网络质量更加稳定、可靠。

融云第三代 IM 全球网络的四大特点

为了确保全球用户可以正常使用融云 IM 即时通讯服务,融云自 2015 年起就自建了 IM 全球网络,至 2020 年已迭代到第三代。

融云第三代 IM 全球通信网络是基于Anycast 的一体化加速网络,其具备多协议支持、支持接入多数据中心、分配策略基于 SmartDNS & Anycast 方式、全球网络链路优化等四大特点。

(图4 图片引用自讲师 PPT)

李淼重点介绍了多协议支持和支持接入多数据中心这两个特点。

其中,多协议支持除了融云自有 IM 协议,还包括 http、https、websocket 等其它协议;支持接入多数据中心,是指融云在国内和海外拥有多个数据中心的情况下,客户先将消息汇聚到路由节点,根据就近分配原则接入最近的数据中心,进行信息的流转。

通过质量监控为用户体验保驾护航

“目前,融云全球通信网络承载的日均消息在 200 亿左右,每天实际处理的峰值超过 2000 亿,每小时处理的峰值超过 900 亿。要保证如此大体量的平台稳定运行,质量监控手段至关重要。”李淼介绍说。

融云 RTC 全球网络的质量监控手段包括客户端日志及实时业务数据、服务端日志及实时业务数据、实时数据运算和监控报警

以客户端日志的收集策略为例,李淼介绍,为了保证日志收集成功率,一旦客户端打开服务,每 10秒就自动向服务器上传错误数据,这样有利于提高日志收集的准确性和完整度,有了日志做基础,才能对客户端的网络质量进行持续优化。

除了监控手段外,在监控质量上,融云 RTC 全球网络关注 QoS (服务质量)和 QoE (体验质量)两方面的质量。QoS 涉及网络延迟、终端带宽、网络丢包率、终端误码率和网络抖动五个维度;QoE 仅体现在音视频质量中,包括环境、用户和服务,主要是以人为本进行的评估。

而对 IM 全球网络的质量监控而言,融云更关注 QoS 而非 QoE 。QoS 包括网络连接成功率、数据传输延时、网络抖动和网络覆盖率等。其中重点要监控网络连接成功率,这主要以时间维度+地理维度+应用维度+终端类型维度进行综合分析,从而快速定位终端所出现的 SDK 问题,快速解决问题。

结语

融云 RTC 和 IM 全球通信网络,覆盖全球 233 个国家和地区,拥有数千个加速节点和多个海外数据中心,能够让世界上每一个用户都获得最佳的通信体验。

(图5 融云通信网覆盖全球所有国家地区)

全球通信网持续优化永无止境。未来,融云将持续加大网络建设的投入,一方面部署更多边缘节点,提升网络覆盖率;另一方面,在不断迭代的 SDK 中,增加新的数据埋点,丰富质量数据监控类型及收集手段,提升 SDK 质量和网络质量。此外,融云还将尝试 AI 网络预测和无人值守运维,通过大数据方式提前预判网络峰值,确保网络稳定运行。

       

标签: ,