写点什么

架构视角解读网络加速 :基于公有云的方案已经过时了?

  • 2021-11-02
  • 本文字数:3677 字

    阅读完需:约 12 分钟

架构视角解读网络加速 :基于公有云的方案已经过时了?

GA(Global Accelerator)全球加速,是个让人觉得“既熟悉又陌生”的行业。

 

“熟悉”是指,GA 不是个新词汇,你几乎能在所有公有云厂商的产品介绍下,看见 GA 这项服务。做出海、游戏类业务的人都太熟悉 GA 了,没有它 ,基本的网络连通都将成为问题。

 

“陌生”则是说,即便在疫情的催化下,GA 行业依然很少出现在开发者社区的主流视野中。在疫情爆发的这两年间,我们频繁谈起数字化转型、智能数据平台、RTC,可就是很少谈起 GA。

 

为何会出现这样古怪的情况呢?有一种可能是:虽然 GA 服务非常关键,但它属于基础设施,在技术层面暂时没有太多的想象空间,缺少跨越式发展,因而讨论热度较低。

 

前不久,声网发布了 FPA 全链路加速产品,乍一看与 GA 相仿,又存在截然不同的技术特征,格外让人好奇。因此,InfoQ 特别采访了 FPA 的产品负责人施政与声网基础平台技术负责人王浩宇,希望能在架构和产品的视角对 FPA 进行解读,从中寻找关于全球加速服务的新的启发。

 

为何“最后一公里”问题无人问津?

 

要更好地理解声网 FPA ,首先要了解 GA 的工作原理。简单来说,GA 服务一般由公有云厂商提供,会为用户分配少数接入 IP,保证用户就近接入公有云加速网络,再通过各个节点间的加速链路,配合动态的调度策略,实现传输层的网络加速。

 

GA 加速方案是开创性的,它将单一用户纳入公有云庞大的基础设施资源里,进行跨地域跨运营商加速,并以云的方式,自底向上融合了多种加速技术,包括 CDN、专线网络。而在此前,无论是 CDN 加速方案还是专线加速方案,彼此都是孤立存在的,而且都是主要在物理层面使劲,忽略了软件层面,显得有点粗犷。

 

但 GA 加速方案也不是完美的,它存在许多天然劣势,其中之一便是“最后一公里”问题:以 IP 协议接入加速网络,意味着在接入前,没有端侧 QoS 保障。具体来说,如果用户如果通过 Wi-Fi 接入,将面临 Wi-Fi 设备性能差异、信道竞争等多种问题;如果通过 4G、5G 信号接入,则会因环境不同,造成信号强度不同,出现网络性能波动。

 

声网 FPA 的一个重要技术特点便是解决终端接入问题,而这种解决方案主要是通过在终端、服务端集成 FPA SDK 来实现的。通过 SDK, FPA 构建了一种覆盖任意端到任意端的全链路加速通道,这也是 FPA(Full-Path Accelerator)名字的来源。SDK 集成后,从端侧到骨干网,弱网对抗、智能接入、自主决策、冗余接入等多种技术方案都可以发挥作用,这是该种方案为用户体验带来的最直观的改善。

 

弱网对抗不必多说,这是所有视频会议、RTC 行业从业者都必须解决且保持长期关注的问题。智能接入、自主决策是指 SDK 会向调度中心请求一份路由列表,已获知最近入口,并根据路由列表自主决策在何处接入,避免与调度中心反复通信增加延迟。

 

冗余接入是指 SDK 会和多个入口建立连接,传输相同的数据包,保证高可用,减少重传延迟。

 

听起来,集成 SDK 对整体加速性能的提升,还是非常有益处的。但此前,无论是 CDN 服务提供商,还是 GA 服务提供商,都无法提供成熟的 SDK 集成服务。不是大家不想,而是因为不能。

 

FPA 产品负责人施政说:“因为大家一直以来提供的都是一种标准的 web 服务。在这个场景下,对开发者或者对于用户来讲,端侧集成是不能接受的。”

 

“但在声网的实时互动领域,”他补充道,“开发者已经接受了声网使用 SDK 的方式作为他们的开发组件。”

 

情况也确实如此,SDK 一直是声网长期以来的主要服务模式。2020 年 10 月, 声网 Agora 创始人兼 CEO 赵斌在RTE大会上宣布,客户主动调用 API 次数突破 100 亿次/日。而声网最新的财报也显示,截至 2021 年 6 月 30 日,声网全球注册应用超 33.7 万个。这些无疑都是非常惊人的数据。

 

SDK 集成的方案对业务的侵入性很强。如果 SDK 不稳定,且业务模块没有做好边界测试和限制,相关故障很容易殃及整个系统。且与云服务不同,SDK 的代码是暴露的,当系统故障时,可能会让问题变得更复杂。

 

但任何方案都有两面性,SDK 方案的问题,同样也促使声网在软件研发层面,构建出了自身的技术壁垒——

 

“声网 SDK 的崩溃率是 0.5 ‱(万分之零点五),在行业内是最低的,没有经过洗礼是达不到这种程度的。”施政说。

一个“异类”:基于 SD-RTN™ 的骨干网传输优化

 

除了端侧的覆盖问题,FPA 在骨干网层面的加速策略,也与传统 GA 服务完全不同。

 

FPA 的骨干网加速能力是基于声网 SD-RTN™ 构建的。SD-RTN™ 在架构层面分为三层:

 

第一层:数据层。数据层负责数据的实时传输和转发,并负责将当前的状态数据上报给控制层。

 

第二层:控制层。控制层类似一个网络操作系统,完成的是传统 Internet 的工作,包括寻址、计算并下发路由地址、控制传输的拓扑结构等。

 

第三层:应用层。应用层面向业务逻辑,同时会针对实时音视频场景做特别的优化。比如更改关键帧的处理策略、进行协议适配等。

 

这样的架构在 2019 年具备雏形,于 2020 - 2021 的两年间逐渐成熟。与传统的专线网络不同,SD-RTN™构建在公共互联网上,使数据中心、企业内部以外的任何用户的终端都可以访问,对硬件的依赖很小;另外,SD-RTN™的数据中心分布在全球数百个节点,保证了通讯的舒畅。同时,声网也在探索自建机房,以此解决复杂的运营商问题,更好的控制成本。

 

SD-RTN™ 无论在 RTC 领域还是在网络加速领域,都算的上是一个“异类”。发展至今,业内最主流的网络加速和低延时解决方案,还是基于 CDN 构建的,与 SD-RTN™ 在架构设计上几乎背道而驰。

 

作为历史悠久的内容分发解决方案,CDN 采用多级缓存的机制,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。更为重要的一点是,运行在 CDN 之上的传输协议,大多基于 TCP。

 

而 SD-RTN™ 在建立之初就把传输层协议确定为 UDP,以规避 TCP 因握手、超时重传机制带来的高延迟。同时 SD-RTN™ 在对缓存的控制非常谨慎。用声网基础平台技术负责人王浩宇的话说,就是“如何用最小的缓存去实现最优的效果”。

 

他也补充道:“FPA 很难对数据做缓存,这个跟 CDN 做静态加速完全是不一样的效果。你会发现有的时候缓存没啥用,比如最近有一个从 CDN 切到声网的用户,应用场景是上传课件,上课马上就要用。他们发现,基于 CDN 的加速效果很差。”

 

“为什么呢?”他说,“因为要建立缓存,其实需要付出很大的代价,而且如果没有一些预热,可能这个缓存的效果根本就不尽如人意。CDN 分发非常便宜,但它有使用前提,就是你一定得高频击中缓存,否则效果不好。”

 

当然,SD-RTN™ 和 CDN 在资源侧没有隔阂,声网的思路是基于用户需求,定向的增加某个地区的节点覆盖。

 

究竟 CDN 和 SD-RTN™ 哪种方案效果更好?这里不好下定论,CDN 也在不断针对低延时场景进行优化。但从新东方、陌陌等企业的实际使用效果来看,SD-RTN™ 确实能够解决问题,并且在架构设计和未来扩展层面,可能更适合实时互动场景。

自研 AUT 协议:传输层的优化更有想象空间


声网 FPA 的另一个技术特点在于其自研的 AUT 协议,架构示意如下:



在发布会上,声网也发布了,AUT 协议和以 TCP 为代表的公共协议,在三种情况下的抗弱网效果数据。实验方法是发送 1000 个消息数据并记录其到达时间,实验结果如下图。



可以看出,对比 TCP 类公共协议,AUT 协议在限速和丢包场景中,平均消息到达延迟分别下降 53% 和 67% ,在同时限速与丢包的极端场景下,平均消息延迟下降 55%。数据表现非常不错。

 

AUT 协议的开放,同时给 FPA 带来了另一个与传统 GA 方案不同的特性。GA 虽然是基于公有云进行链路加速的,但所涉及的一般不止是“一朵云”或一个运营商,跨云、跨运营商是常见场景,这依赖于 BGP Anycast (边界网关协议 + 泛播),也往往导致加速效果出现大幅波动。

 

而 FPA 运行在 SD-RTN™ 之上,首先避免了多云场景。更重要的是 AUT 是传输层协议,优化空间大于基于 IP 协议通信的 GA 服务。王浩宇在采访中说:

 

“我们相信这样是对开发者最友好,对于整个网络传输过程来说,也是最可控的形式。我们通过端到端的传输能控制如何组包、协议怎么重传、怎么做编码侧地优化,以及协议里怎么做连接的关闭和迁移,这些全都是我们可以去深入优化的细节。”

无止境的质量问题

 

关于未来的产品迭代方向,王浩宇认为还有大量的工作需要做:

 

“从产品视角来看,我们还是专注于开发者,思考能不能在更多的场景下,提供更易用的方法,比如代码集成就可以获得 FPA 的各项能力。另外从质量上来讲,如何在各种网络异常出现的情况下,还能保证用户业务得到简单处理?包括资源布局、资源上的补充和替换,都是我们需要继续加强的。”

 

5G 和云游戏也是一个场景上的挑战。云游戏要求延时在 5ms 以内,在网络条件差的情况下,如何实现这个目标?王浩宇说,这是声网愿意集中精力长期投入的事情。

 

同时,声网也并不认为现在推出网络加速服务“为时已晚”。产品负责人施政说:

 

“以前大家总觉得,在网络层做好管道,让管道尽量靠近用户就够了,但从开发者的视角来看,真的是这样吗?开发者面对的端到端保障问题,有没有人帮他解决?”

 

“质量这个事情是无止境的。”

2021-11-02 13:494928

评论

发布
暂无评论
发现更多内容

天润融通分析Manus给AI客户服务带来哪些启示?

天润融通

天润融通走进蔚来汽车,探索AI在厂店一体化中的应用

天润融通

BOE(京东方)携手微博举办“微博影像年”年度影像大展 创新科技赋能专业影像惊艳呈现

爱极客侠

大厂加码,小厂离席:DeepSeek驱动的MaaS之变

脑极体

AI

【每日学点HarmonyOS Next知识】粘贴板、异步、用户权限、锁屏事件、对话框

轻口味

HarmonyOS HarmonyOS NEXT

【每日学点HarmonyOS Next知识】对话框去掉圆角、数组拼接、自定义对话框依附某个控件、平移动画、页面栈管理

轻口味

HarmonyOS HarmonyOS NEXT

【每日学点HarmonyOS Next知识】底部弹窗、对话框不弹出、多模块间跳转、输入框不显示内容、Grid编辑顺序

轻口味

HarmonyOS HarmonyOS NEXT

兼职招聘平台(源码+文档+讲解+演示)

深圳亥时科技

有关SFT在模型训练中价值的一点讨论

澳鹏Appen

数据标注 数据训练 SFT

数据高质量与合规,守护AI模型的真实未来

澳鹏Appen

人工智能 内容审核 训练数据

DevEco Studio 联合小艺接入 DeepSeek,步骤更简单开发鸿蒙更专业

最新动态

端侧 AI 时代,每台家居设备都可以是一个 AI Agent丨Voice Agent 学习笔记

声网

原生APP的性能优化

北京木奇移动技术有限公司

APP开发 软件外包公司 APP外包公司

淘宝淘口令API接口全攻略

tbapi

淘宝API接口 淘宝口令接口 淘口令API接口

在华为开发者空间:体验用仓颉基于DeepSeek开发智能聊天机器人

华为云开发者联盟

modelarts CodeArts 仓颉 DeepSeek 华为开发者空间

大型企业数字化转型中的低代码技术选型:金融/制造/零售行业落地案例深度解析

不在线第一只蜗牛

低代码

接入手机后,DeepSeek难“转正”

脑极体

AI

【每日学点HarmonyOS Next知识】获取资源问题、软键盘弹起、swiper更新、C给图片设置位图、读取本地Json

轻口味

HarmonyOS HarmonyOS NEXT

【运维实战分享】轻松搞定 SSL 证书管理,告别证书繁琐操作

外滩运维专家

运维 SSL证书 免费通配符 免费证书 免费ssl

【每日学点HarmonyOS Next知识】对话框与导航冲突、富文本、字体大小、列表刷新、Scroll包裹文本

轻口味

HarmonyOS HarmonyOS NEXT

DeepSeek的成功,真的抛弃了SFT吗?

澳鹏Appen

ChatGPT RL #大模型 DeepSeek SFT

AI 工程师成长路线图

俞凡

人工智能

Tavus 发布对话轮次控制模型:能理解对话节奏和意图;百度推出 AI 情感陪伴应用月匣,整合 MiniMax 等模型丨日报

声网

06.依赖倒置原则介绍

杨充

架构视角解读网络加速 :基于公有云的方案已经过时了?_架构_王一鹏_InfoQ精选文章