关于边缘计算与网络动态加速

架构师-网络文章汇总
边缘计算一种通俗理解是将计算和存储等服务放在网络逻辑边缘节点上的一种分散式架构 , 通过将原本中心化的服务分散到边缘节点处理 , 让数据的运算和存储更接近数据来源 , 减少网络传输的数据量和访问延时 。 它不但侧重边缘节点 , 还强调节点之间的连接 , 因此就有了与网络加速的契合 。
我们在许多城市运营商的机房(节点)提供计算和存储资源 , 并利用动态加速技术来优化节点之间的传输网络 , 并搭建了一个机房、服务器层面的边缘计算平台(UODN) 。 这种方式适用于数据源能够在各地存储或运算、且较为依赖网络传输的业务 , 例如网络音视频教育、医疗数据分析等 。
在实现上 , 边缘计算平台与动态加速网络也依赖了路由、DNS等一些基础服务 , 几个产品之间的关系如下图:
关于边缘计算与网络动态加速文章插图
从上至下 , 边缘计算平台由分布在各个城市、运营商的节点组成 , 节点间物理网络可以互通 。 如果需要在网络进一步优化 , 则依赖动态加速网络 , 而动态加速网络的实现除了加速服务器本身以外 , 还需要路由服务、DNS服务来提供路由和域名解析等数据 。 另外 , 路由和DNS也为CDN、直播平台提供基础服务 。
那么 , 边缘计算、动态加速、路由/DNS这些关键服务又是如何实现的呢?首先 , 我们来看看边缘计算 。
边缘计算
边缘计算的核心理念是将数据的存储、传输、计算和安全交给边缘节点来处理 。 边缘计算并非是让终端自己负责所有计算 , 而是在离终端更近的地方部署边缘平台 , 终端与之通信可以有多种形式 , 这样可以避免集中式云计算中心的网络延迟和传输带宽问题 。
在边缘计算的实现上 , 我们提供了开放式分发节点UODN , 将计算节点分布在全国的上百个数据中心 , 通过虚拟化、Docker等方式提供计算和存储资源 , 用户可以通过软件自定义内容分发服务 。
关于边缘计算与网络动态加速文章插图
计算、存储等资源分配上 , 建议将大量实时需要交互的计算如部分实施决策和自主协作过程在边缘节点实现 , 一些需要集中式处理的计算如大数据挖掘、大规模学习等则继续交由数据中心完成 。
国内环境下 , 在边缘节点提供计算和存储 , 能够让数据能就近上传、访问 , 节点之间只传输核心的计算结果 , 即可减少非必要网络传输带来的延迟 。 然而 , 在跨国、跨运营商等弱网络环境下 , 链路质量差 , 节点之间的网络传输依然可能影响业务 , 因此我们需要融合动态加速网络优化传输 。
动态加速
区别于CDN , UCloud动态加速网络并非依赖于缓存数据 , 而是通过对路由、协议等的优化来实现加速 , 因此在跨国、跨运营商这种质量差的网络中有比较好的表现 。 下图是UCloud动态加速网络的网络拓扑图, 由分布在各地的加速点组成 。
关于边缘计算与网络动态加速文章插图
其加速原理和实现过程 , 主要包括四点:
首先 , 接入方式设置了HTTP(S)、TCP、UDP三种模式:
将域名CNAME到加速平台后 , 加速点服务器就能接收到用户数据包 , HTTP通过域名(TCP/UDP根据端口查找配置) , 服务器根据配置获取源站以及到源站和到路由的信息 , 并选择路由将数据转发往目标源站 。
其次 , 加速网络内部统一使用私有协议UTP传输数据:
每个加速点有接入和中转双重身份 , 直接对接用户客户端或源站的定义为接入点 , 接入点收到的数据一般通过UTP协议发往中转点 , 中转点之间也通过UTP传输 。 UTP是UCloud在UDP的基础上实现可信传输的协议 , 支持流量控制、拥塞控制、快速重传等 , 可以消除握手的时间 , 使传输控制更灵活 。