图片展示

CDN原理

关注:192 发表时间:2019-02-20 16:32:40

CDN原理

 

随着互联网的爆炸式发展,用户越来越多,加上宽带接入网的出现,内容源服务器和骨干网络的压力越来越大,无法及时响应用户的访问需求。

 

如今这个移动互联网时代,越来越多的人使用手机观看视频,丰富自己的娱乐生活。可是,大家在追剧的时候,有没有想过一个问题——为什么有时候明明自己手机的网速很快,但观看视频时,仍然卡顿?

 

回答这个问题之前,我们先来做一道算术题。

以之前很火的“延禧攻略”为例,当时曾经在某视频APP实现了1千万用户同时在线观看。

如果大家观看的是1080p清晰度的视频(理论上需要4Mbps带宽),那么,累计需要的流量带宽是10,000,000×4Mbps=40,000,000Mbps=40Tbps

对于优酷、爱奇艺这样的互联网视频内容提供商来说,这无疑是非常巨大的流量压力。

我们普通计算机的网卡,是1Gbps的带宽。如果优酷有一台超级服务器,那么,这台超级服务器就需要4万块网卡,而且必须百分之百跑满速度,才能够实现这1千万用户的流畅观看。

对于一些实力不够的服务商,或者突发流量陡增的情况,就会造成拥塞,从而导致卡顿和延时。

有这么一个说法:当用户打开一个页面,等待超过4秒,他就会关闭这个页面。也就是说,这个用户就会流失。

 

用户的流失,就意味着金钱的流失。没有任何一家互联网服务提供商希望这样的情况发生。所以,它们必须想方设法让自己的内容尽快呈现,缩短用户的等待时间,提升用户的体验。

CDN,就是一项非常有效的缩短时延的技术。

 

CDN的原理

CDN这个技术其实说起来并不复杂,最初的核心理念,就是将内容缓存在终端用户附近。

内容源不是远么?那么,我们就在靠近用户的地方,建一个缓存服务器,把远端的内容,复制一份,放在这里,不就OK

 

因为这项技术是把内容进行了分发,所以,它的名字就叫做CDN——Content Delivery Network,内容分发网络。

具体来说,CDN就是采用更多的缓存服务器(CDN边缘节点),布放在用户访问相对集中的地区或网络中。当用户访问网站时,利用全局负载技术,将用户的访问指向距离最近的缓存服务器上,由缓存服务器响应用户请求。(有点像电商的本地仓吧?)

大家可能觉得,这个不就是“镜像服务器”嘛?其实不一样。镜像服务器是源内容服务器的完整复制。而CDN,是部分内容的缓存,智能程度更高。

确切地说,CDN=更智能的镜像+缓存+流量导流。

而且还需要注意的是,CDN并不是只能缓存视频内容,它还可以对网站的静态资源(例如各类型图片、htmlcssjs)进行分发,对移动应用APP的静态内容(例如安装包apk文件、APP内的图片视频等)进行分发。

 

我们来举个例子,看看CDN的具体工作流程。

如果某个用户想要访问优酷的视频点播内容,那么:

具体步骤:

①、当用户点击APP上的内容,APP会根据URL地址去本地DNS(域名解析系统)寻求IP地址解析。

②、本地DNS系统会将域名的解析权交给CDN专用DNS服务器。

③、CDN专用DNS服务器,将CDN的全局负载均衡设备IP地址返回用户。

④、用户向CDN的负载均衡设备发起内容URL访问请求。

⑤、CDN负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的缓存服务器。

⑥、负载均衡设备告诉用户这台缓存服务器的IP地址,让用户向所选择的缓存服务器发起请求。

⑦、用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。

⑧、如果这台缓存服务器上并没有用户想要的内容,那么这台缓存服务器就要网站的源服务器请求内容。

⑨、源服务器返回内容给缓存服务器,缓存服务器发给用户,并根据用户自定义的缓存策略,判断要不要把内容缓存到缓存服务器上。

CDN的好处

采用CDN技术,最大的好处,就是加速了网站的访问——用户与内容之间的物理距离缩短,用户的等待时间也得以缩短。

此外,CDN还有安全方面的好处。内容进行分发后,源服务器的IP被隐藏,受到攻击的概率会大幅下降。而且,当某个服务器故障时,系统会调用临近的健康服务器 进行服务,避免对用户造成影响。


鹏博士集团微信公众号

 友情链接:鹏博士集团官网

关于我们 / 新闻中心 / 业务领域 / 解决方案 / 服务产品 / 售后服务 / 联系我们

版权所有©鹏博士集团  备案号 粤ICP备18038205号-1