7月24日,以“新视界·连未来”为主题的第三届全球互联网通信云大会(WICC 2021)在北京成功举办。作为 WICC 的主办方,全球互联网通信云领导厂商融云在“网络传输与系统架构”的技术分论坛中,发表了《融云构建全球一体化网络的设计解析》的主题演讲。
融云首席架构师李淼为开发者全面解析了融云 RTC 和 IM 全球网络的设计要点和质量监控体系,从架构层面诠释了融云为开发者提供的全球化服务能力。
构建全球网络的问题与难点
李淼首先介绍了融云全球通信网络最大的特点是:因业务场景不同,RTC 实时音视频和IM 即时通讯分别采用了不同的网络传输架构方案。从业务场景上看,RTC 用于已确定且在线设备间的实时音视频数据传输,数据不需要中心介质存储,架构设计上采用了全球去中心化分布网络;IM 无法确定接收端是否在线,因此需要离线消息存储,架构设计上采用中心化架构。
在服务全球开发者的过程中,李淼认为构建全球网络的问题与难点主要在于网络连通率、数据传输延时、网络抖动、网络覆盖率、数据的实时监控、质量改进方案和 QoE 质量体验。为了解决这些问题,融云分别基于 UDP 和 TCP,搭建了 RTC 和 IM 的全球传输网络,最终形成了覆盖全球的一体化通信网。
融云RTC全球通信网络的基本能力
融云所构建的 RTC 底层网络通信架构,拥有用户就近接入、服务节点级联、节点专线网络连接、动态链路调度和去中心化的边缘节点架构五大基础能力。演讲中,李淼重点介绍了去中心化的架构设计和动态链路调度能力。
在架构设计上,融云 RTC 全球网络部署完全是去中心化的,部署的每一个边缘节点,都无需通知任何一个状态服务器。订阅关系基于发布时产生的地址,通过 IM 推送给对端用户。对于边缘节点而言, MediaServer 是整个音视频通信的核心,除此之外的附加服务还包括 MCU,用于合流服务、录像服务、审核服务、以及直播类向 CDN 的推流服务等。
在动态链路调度上,分为客户端的节点选择策略和服务端的级联策略。
从客户端看,如果是海外用户,就近节点则优先选择 BGP Anycast,其特点在于用户在全网 IP 唯一,可基于 IP 直接访问距离最近的节点;中国国内和禁运国的用户,由于 Anycast IP 无法在运营商预拨,因此就近节点优先选择 SmartDNS 接入。此外,为确保用户的最佳体验,融云会对所有终端用户下发多条链路,让客户可以智能探测,从中选择一条质量最好的链路。
从服务端看,首先是内网级联优先,即多个数据中心通过专线网络进行级联。其次是公网级联,一旦内网发生故障,则自动降级到公网,通过现有的互联网完成级联。第三是多级级联,倘若内网、公网都出现问题,融云会选择架构中的一个中继节点进行服务器的再次转发。
李淼从最佳实践的角度建议,多以硬件或网络的方式来解决问题而不是通过算法,可使网络质量更加稳定、可靠。
融云第三代IM全球网络的四大特点
为了确保全球用户可以正常地使用融云的 IM 即时通讯服务,融云自2015年起就自建了 IM 全球网络,至2020年已迭代到第三代。第三代IM全球通信网络是基于 Anycast 的一体化加速网络,具备多协议支持、支持接入多数据中心、分配策略基于 SmartDNS & Anycast 方式、全球网络链路优化等四大特点。
李淼重点介绍了多协议支持和支持接入多数据中心这两个特点。其中,多协议支持除了融云自有 IM 协议,还包括 http、https、websocket 等其它协议;支持接入多数据中心,是指融云在国内和海外拥有多个数据中心的情况下,客户先将消息汇聚到路由节点,根据就近分配原则接入最近的数据中心,进行信息的流转。
通过质量监控为用户体验保驾护航
“目前,融云全球通信网络承载的日均消息在200亿左右,每天实际处理的峰值超过2000亿,每小时处理的峰值超过900亿。要保证如此大体量的平台稳定运行,质量监控手段至关重要。”李淼介绍说。
融云 RTC 全球网络的质量监控手段包括客户端日志及实时业务数据、服务端日志及实时业务数据、实时数据运算和监控报警。以客户端日志的收集策略为例,李淼介绍,为了保证日志收集成功率,一旦客户端打开服务,每10秒就自动向服务器上传错误数据,这样有利于提高日志收集的准确性和完整度,有了日志做基础,才能对客户端的网络质量进行持续优化。
除了监控手段外,在监控质量上,融云RTC全球网络关注 QoS (服务质量)和 QoE (体验质量)两方面的质量。QoS 涉及网络延迟、终端带宽、网络丢包率、终端误码率和网络抖动五个维度;QoE 仅体现在音视频质量中,包括环境、用户和服务,主要是以人为本进行的评估。
而对IM全球网络的质量监控而言,融云更关注 QoS 而非 QoE 。QoS 包括网络连接成功率、数据传输延时、网络抖动和网络覆盖率等。其中重点要监控网络连接成功率,这主要以时间维度+地理维度+应用维度+终端类型维度进行综合分析,从而快速定位终端所出现的SDK问题,快速解决问题。
结语
全球通信网持续优化无止境。未来,融云将持续加大网络建设的投入,一方面部署更多边缘节点,提升网络覆盖率;另一方面,在不断迭代的 SDK 中,增加新的数据埋点,丰富质量数据监控类型及收集手段,提升 SDK 质量和网络质量。此外,融云还将尝试 AI 网络预测和无人值守运维,通过大数据方式提前预判网络峰值,确保网络稳定运行。
WICC 2021上,李淼揭秘的融云RTC和IM全球通信网络,覆盖全球233个国家和地区,拥有数千个加速节点和多个海外数据中心,能够让世界上每一个用户都获得最佳的通信体验。