边缘计算,一种通俗理解是将计算和存储等服务放在网络逻辑边缘节点上的一种分散式架构,经过将本来中心化的服务分散到边缘节点处理,让数据的运算和存储更接近数据来源,减小网络传输的数据量和访问延时。它不但侧重边缘节点,还强调节点之间的链接,所以就有了与网络加速的契合。缓存
咱们在许多城市运营商的机房(节点)提供计算和存储资源,并利用动态加速技术来优化节点之间的传输网络,并搭建了一个机房、服务器层面的边缘计算平台(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的基础上实现可信传输的协议,支持流量控制、拥塞控制、快速重传等,能够消除握手的时间,使传输控制更灵活。
而后,与边缘计算平台的融合,实现对用户透明的动态加速。
咱们会为边缘计算节点提供加速IP,用户程序使用IP地址便可使用加速网,不须要域名配置和修改程序。传输TCP、UDP数据时,内核模块会捕获并修改TCP/IP包,将数据包发送到加速网,同时在加速网注册,以此实现对用户透明的动态加速。
最后,如何达到更优的加速效果,主要有如下几点思路:
链路层/网络层:选择更优的链路,这里主要是基础设施的建设; 传输层:对传输协议进行优化如:1.加速网络内部采用UDP实现可信传输,优化握手时间;2.调整拥塞控制,采用更灵活的发送策略例如UTP;3.根据链路MTU大小进行切片发送,减小报文重组; 应用层:优化业务程序,尽可能使用长链接传输,减小频繁创建短链接的时间和失败几率。
路由服务
路由是指从一个接口收到数据包后,根据数据包的目的地址进行定向并转发到另外一个接口的过程。路由和域名解析服务主要提供对外接口,供给动态加速、CDN使用。
路由计算方面,建议先重复测试任意节点之间分时段的网络质量数据,包括ping延时、丢包率、UDP大小包丢包率等,而后计算出所有节点之间的最优、次优路径,最后根据历史数据预测最优路由。
这里,须要特别注意的是,时段不一样、数据包大小不一样,路由计算的结果可能不一样。
小结
本文主要讲解了边缘计算和动态加速网络的一些实现技术和优化方案,来帮助实现计算、存储、网络等资源的平衡。边缘计算方面,主要是提升边缘节点资源利用率,经过虚拟化技术让资源管理更有效;动态加速网络,则是经过优化路由、协议等方法,来优化两点之间的网络质量。
做者
梁旭:UCloud研发工程师,前后负责UCloud CDN、ODN、IDV虚拟化产品的研发,熟悉边缘计算与动态加速等技术。
Post Views: 8 *本平台所发布文章信息,版权归UCloud全部,如需转载请注明出处!