网络加速原理与方法:静态CDN、动态CDN、全站加速、GAAP、AIA、CLB跨地域部署

一、概念辨析:网络延迟与网络波动

(1) 网络延迟

网络延迟是指各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输,如果信息量过大不加以限制,超额的网络流量就会导致设备反应缓慢,造成网络延迟。受限于光速,网络延迟总是有一个下限,是无法超越物理极限的。

(2) 网络波动(丢包率)

网络波动,就是Flipping,一般在广域网才会提到,是由于线路的不稳定,出现时通时断或瞬断的现象。Flipping是会经常出现、不可避免的,这就需要路由协议对这种现象较好地处理,网络设计和调试人员,在设计和设备配置时,也可以采用多种技术,避免这种现象出现,提高网络的容错能力。


二、加速方案

当前网络加速实现方案和加速产品努力的方向都是:

  1. 尽可能把服务器放在离玩家物理距离近的地方
  2. 把长距离公网传输改为稳定的内网传输

方案一:缩短玩家与服务器间的物理距离
产品 服务商
内容分发网络 CDN(静态CDN服务) 腾讯云
海外加速 GCD(腾讯云CDN的海外版) 腾讯云
CDN(静态CDN服务) 阿里云
CloudFront(静态+动态内容加速) AWS

不难看出,是缩短玩家与服务器间的物理距离的主流方案。


方案二:把长距离公网传输改为稳定的内网传输
产品 服务商
全站加速(静态+动态内容加速) 阿里云
CloudFront (静态+动态内容加速) AWS
GAAP(全球应用加速 ) 腾讯云
IP应用加速(全球应用加速) 阿里云
Anycast公网加速AIA(Anycast) 腾讯云
Global Accelerator(Anycast) AWS

相比于“缩短玩家与服务器间的物理距离”,将长距离公网传输改为稳定的内网传输方案催生下的产品更加多样,大致可以归类为、和三种。


三、技术方案

(1) 静态CDN服务

CDN(Content Delivery Network)内容分发网络,将网站内容发布到最接近用户的边缘节点,使网民可就近取得所需内容,有效解决互联网网络拥塞状况,提高网民访问的响应速度和成功率。静态CDN服务以图片、页面、js、css、大文件安装包等静态文件加速为主。主要原理是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的cache服务器内,通过DNS负载均衡的技术,判断用户来源就近访问cache服务器取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度,如同提供了多个分布在各地的加速器,以达到快速、可冗余的为多个网站加速的目的。

1)解决由于地域、带宽、运营商接入等问题带来的跨网访问问题
2)结合DNS调度系统,将用户的请求分配至最适合他的节点,提升用户的访问速度
3)中心节点收敛回源,降低回源且提升命中率,减轻源站压力
4)隐藏源站,提供大带宽接入,降低源站被攻击的风险
5)提供存储方案,解决业务线文件存放问题

网络加速原理与方法:静态CDN、动态CDN、全站加速、GAAP、AIA、CLB跨地域部署

我们可以看到,静态加速和动态加速,都依赖基于地理位置的DNS服务,这类服务,能够根据用户的地理位置,返回最优的接入IP,我们称之为GeoDNS。这种服务在AWS叫Route 53,其他厂商也能提供类似服务。


(3) 全站加速【动态+静态加速】

当前腾讯、阿里和AWS的都支持动静态内容混合加速,即静态内容直接由边缘节点(静态CDN)返回,动态请求走内网代理转发到源站。AWS更是把动静态加速直接合并为一个服务Amazon CloudFront,统一计费。

网络加速原理与方法:静态CDN、动态CDN、全站加速、GAAP、AIA、CLB跨地域部署

CVM(Cloud Virtual Machine 云虚拟机)是普遍的虚拟云服务器统称云服务器;ECS(Elastic Compute Service 弹性计算服务)是一个计算机集群多台一起虚拟一个环境,架设了一个云系统,云系统可以按需分配CPU内存硬盘等资源。VPS(Virtual Private Server 虚拟专用服务器)是使用一台服务器,虚拟一个环境,并架设虚拟系统。主要区别是VPS的宿服务器如果有硬件或者软件故障,会导致这个宿主机内的VPS主机全部宕机。ECS不会因为单台宿主机故障导致整体或者某台云主机宕机。这里我们可以将ECS理解为vps或站点的服务器。


(4)全球应用加速GAAP

GAAP的本质,是在加速区域入口和源站区域出口,各部署一套转发集群,把长距离公网传输改为自建的内网传输,从而实现加速的效果。

阿里云的类似于腾讯云的产品,基于位置的DNS服务支持,按地区返回给用户最近的接入IP,通过GAAP创建的内网加速传输通道把数据转发到服务器。

网络加速原理与方法:静态CDN、动态CDN、全站加速、GAAP、AIA、CLB跨地域部署

所以,AIA的本质,也是把长距离公网传输改为自建的内网传输,从而实现加速的效果。腾讯云的Anycast IP,可以绑定在云服务器上,也可以绑定在CLB(Cloud Load Balancer 负载均衡)上,使用跟普通的公网IP相同,非常简单。

  • 用途一:将Anycast IP绑定在CLB(负载均衡)上,提供面向玩家的接入服务
  • 用途二:将Anycast IP绑定在NAT网关,用来加速服务器对外部接口的请求

AIA相比于GAAP,一个显著的优势在于部署配置简单。全局唯一的IP,不需要依赖GeoDNS,后端唯一的服务提供集群,架构清晰,配置容易。但AIA的后端业务,只能是腾讯云上的机器,无法接入第三方服务器(补充一点:如果想接入第三方服务器,可在绑anycast ip的CVM上做转发代理,可以实现类似混合云的加速效果)。

总的来说,和都能做到全球加速,但是服务的对象可以有区别,配置复杂程度不同。成本和价格不同。Anycast带宽可以理解为高级版的BGP带宽【BGP一般是高级线路进行中转,而Anycast是直连并且也有加速效果】,用户通常是本来不做加速,但是又希望带宽质量更好的。而本来就要做加速的人,会倾向于用GAAP,因为他们希望调度要拿在手里。

BGP是一种路由协议, Anycast是一种通信方式, AIA是腾讯的产品


(6)CLB跨地域部署

负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台云服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。 支持Http,https,UDP,tcp转发。

在不同的地域创建CLB,后端绑定在相同的云服务器上,来实现部分加速效果,有点类似于GAAP。配置起来比GAAP和AIA都麻烦,同样依赖GeoDNS。


网络加速原理与方法:静态CDN、动态CDN、全站加速、GAAP、AIA、CLB跨地域部署

至此,文章也就进入尾声了。希望本文能够起到抛砖引玉之效,也欢迎大家的批评交流。


如果您有任何疑问或者好的建议,期待你的留言、评论与关注!

来源:邓大帅

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月14日
下一篇 2020年10月14日

相关推荐