说起加速,大家可能就会联想到“游戏加速”之类的场景,而说到现在流行的云服务加速,则离不开 CDN 这个词。那么 CDN 和游戏加速器是同一种东西么?从效果上看两者都是为了“加速”,似乎是一样的。但是,在本质上却有区别。

以上图举例,假设我们需要从 A 地点到 B 地点取东西,那么走直线肯定是最短距离。但如果 AB 之间的通路路面满是巨大的障碍物,极其难走,通行时间为 4 小时。而C和AB之间的通路十分通畅,从 A 经过 C 再到 B 只需要 2 小时,你会如何选择呢?相信大家肯定会选择走 C 去 B,毕竟虽然路远了,但是时间更短。游戏加速器就是让大家通过 C 点,能够更快速地到达 B。而 CDN 则是让东西放置在 C 点,从而加倍缩短时间。

当然以上只是一个简单的举例,游戏加速器和 CDN 的具体运作原理我们下面细说。

游戏加速器的原理

游戏加速器是针对个人用户快速、安全连接服务器的一种服务。它使用的是 VPN(虚拟专用网络)技术,通过虚拟专用网络将电信加速到网通,或将网通加速到电信等等,为玩家提供优质的网络加速服务。

在没有使用游戏加速器的时候走的就是平常通道,登录游戏加速器以后,玩家的网游数据转入游戏加速器专属传输网络中,这个网络是经过优化、只传网游数据,从而在用户和服务器之间建立了“绿色通道”,保障了数据传输的优先性与稳定性,能够有效解决游戏下载开启时存在的延时高、登录难、易掉线等问题。

CDN 加速的原理

CDN (Content Delivery Network),即内容分发网络。当用户访问网站时,CDN 会根据客户端的地区和运营商,将用户分配到距离最近速度最快的节点服务器,让用户以更快的速度获取到所需内容。

CDN 的设计思路

  • 避让:尽可能避开互联网上可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。

  • 检测:通过在网络各处放置节点服务器所构成的在现有的互联网基础上的一层智能虚拟网络,CDN 系统能够实时监测网络流量和各节点的连接,负载状况以及到用户的距离和相应时间等综合信息。

  • 分发:根据监测情况重新导向离用户最近的服务节点上。

CDN 的工作过程

以上图进行举例,假如 www.abc.com 使用了又拍云 CDN 服务。当他的用户需要访问这个网站时,首先由用户端发起访问请求,之后 Local DNS 会向上级 DNS 服务器进行域名解析,解析 CNAME 地址。解析出 CNAME 地址后,网站会授权给 DNS 解析出的 CNAME 地址,并将这个地址返回给 Local DNS。而这时,又拍云智能调度系统会根据 LocaL DNS 请求的 CNAME 地址分配最优的用户所在地区的运营商节点。这个节点 IP 会由 Local DNS 返回给请求客户端,而客户端则访问这个最优节点。

如果是客户端第一次访问,那么节点可能没有该网站内容的缓存。那么节点会到网站源服务器去请求资源,这个时间可能会相对较长。而如果节点已经有网站内容缓存,那则会直接将缓存内容返回给用户,让用户查看到网站内容。

如果是游戏内容,那么当游戏厂商使用了 CDN 以后,就可以将软件缓存到遍布各地的 CDN 边缘节点上,当用户请求下载时,会直接选择就近最优的节点进行下载,提供下载的稳定性和速度。相比游戏加速器只是提供专用的一条带宽来进行加速,CDN 还可以解决因用户流量持续增长,下载服务器处理能力、服务器出口宽带压力增加而影响玩家体验的问题。

尽管 CDN 和游戏加速器在用户端体验效果上看似乎是是一样的,但是无论是在成本还是在分解源服务器压力等方面,二者的原理是完全不同的。如果你要问二者哪种更好,那需要考虑到用户自身的需求和实际情况。

推荐阅读

白话科普系列——网站靠什么提升加载速度?

“网页内容无法访问”可能是跨域错误!

【白话科普】CDN & 游戏加速器,两者是一个原理吗?的更多相关文章

  1. 【白话科普】《逆局》最终 boss 隐藏自己的方式是?

    二狗子最近在看一个很火的电视剧<逆局>.作为一部悬疑犯罪剧,剧中多个案件交织并进,悬念和转折拉满,让狗子看的直呼过瘾.特别最后一幕,杨副座和主角团同时对 U 盘中的关键证据"器官 ...

  2. canvas游戏小试:画一个按方向键移动的圆点

    canvas游戏小试:画一个按方向键移动的圆点   自己对canvas,但又有一颗做游戏的心TT.然后记录一下对canvas的学习吧,用一个按方向键控制的小圆点来做练习.(编程时用了一些es6的语法) ...

  3. iTween 不能两个游戏对象同时用一个Hashtable

    两个游戏对象,点击其中一个,两个对象一起旋转,再点一下,两个都旋转到原来角度. 如图:两个游戏对象不能用一个Hashtable,会出错,达不到两个一起转的效果. 每个对象要有自己的Hashtable来 ...

  4. Java初学者作业——实现控制台的猜数字游戏。游戏运行时产生一个1~100之间的随机数字

    返回本章节 返回作业目录 需求说明: (1)实现控制台的猜数字游戏.游戏运行时产生一个1-100之间的随机数字 (2)要求用户从控制台输入数字,若输入的数字比随机数小,则输出"太小了,再大一 ...

  5. CDN技术详解及实现原理

    CDN技术详解 一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精 ...

  6. 利用Python完成一个小游戏:随机挑选一个单词,并对其进行乱序,玩家要猜出原始单词

    一 Python的概述以及游戏的内容 Python是一种功能强大且易于使用的编程语言,更接近人类语言,以至于人们都说它是“以思考的速度编程”:Python具备现代编程语言所应具备的一切功能:Pytho ...

  7. javascript+HTMl5游戏下载,开发一个都能月薪上万!舅服你

    HTML5时代已经到来许久了,你是否已经掌握了那么一点呢?今天小编给大家讲讲h5的折叠多设备.跨平台特性, 即用HTML5制作游戏.相比flash,HTML5更加灵活方便,随着浏览器技术的不断升级,H ...

  8. SpriteKit给游戏弹跳角色添加一个高度标示器

    这是一个类似于跳跃涂鸦的小游戏,主角不断吃能量球得到跳跃能量向更高的地方跳跃,如果图中碰到黑洞就挂了- 在游戏调试过程中如果能实时知道主角的高度就好了,这将有助于程序猿动态的判断游戏胜败逻辑. 你可以 ...

  9. java游戏开发杂谈 - 创建一个窗体

    package game1; import javax.swing.JFrame; /** * java游戏开发杂谈 * ---demo1:创建一个窗体 * * @author 台哥 * @date ...

随机推荐

  1. JavaScript——浏览器检查

    遍历opera中的所有方法

  2. Codeforces Round #650 (Div. 3) C. Social Distance (前缀和)

    题意:有一排座位,要求每人之间隔\(k\)个座位坐,\(1\)代表已做,\(0\)代表空座,问最多能坐几人. 题解:我们分别从前和从后跑个前缀和,将已经有人坐的周围的位置标记,然后遍历求每一段连续的\ ...

  3. 使用开源量子编程框架ProjectQ打印编译后的量子线路与绘制线路图

    技术背景 在量子计算领域,基于量子芯片的算法设计(或简称为量子算法)是基于量子线路来设计的,类似于传统计算中使用的与门和非门之类的逻辑门.因此研究一个量子线路输入后的编译(可以简化为数量更少的量子门组 ...

  4. 利用windows api共享内存通讯

    主要涉及CreateFile,CreateFileMapping,GetLastError,MapViewOfFile,sprintf,OpenFileMapping,CreateProcess Cr ...

  5. 牛客多校第九场 && ZOJ3774 The power of Fibonacci(二次剩余定理+斐波那契数列通项/循环节)题解

    题意1.1: 求\(\sum_{i=1}^n Fib^m\mod 1e9+9\),\(n\in[1, 1e9], m\in[1, 1e4]\) 思路1.1 我们首先需要知道斐波那契数列的通项是:\(F ...

  6. 微信小程序-导航 & 路由

    微信小程序-导航 & 路由 页面跳转 页面路由 页面栈, 框架以栈的形式维护了当前的所有页面. https://developers.weixin.qq.com/miniprogram/dev ...

  7. 使用 js 实现一个中文自动转换成拼音的工具库

    使用 js 实现一个中文自动转换成拼音的工具库 中文 => zhong-wen 应用场景 SEO 友好, URL 自动转换 blogs 发布文章,自动化部署,自动生成 url 的 path (时 ...

  8. style element & web components

    style element & web components style.textContent style.setContent bug style.textContent const st ...

  9. Python & file operation mode

    Python & file operation mode create/read/write/append mode https://docs.python.org/3/library/fun ...

  10. SVG namespace & preview bug

    SVG namespace & preview bug error This XML file does not appear to have any style information as ...