CDN的由来:

用户可就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网站的速度。

不同地区的用户访问同一个地方的服务器就会存在高延迟问题,解决的方案是在用户访问比较集中的地区部署更多的服务器,将目的服务器的内容拷贝到离用户较近的服务器,从而使用户可以就近的获取数据,有效解决服务器访问速度的问题。
用户就近访问服务器的好处:
1)提高用户的访问速度
2)减轻服务器的压力
3)提升网站的稳定性和安全性
CDN的原理
将内容推送到边缘的节点上,以此产生副本。引导用户就近访问。
中间的是原始服务器,周边的是镜像服务器,想要实现边缘加速,必须要提前将原始服务器的内容拷贝到其他的镜像服务器上,镜像服务器就会产生副本,供用户访问。

用户会在浏览器中输入域名,浏览器会将该域名发送给DNS服务器,DNS将域名翻译成响应的IP地址,返回给浏览器。DNS服务器是运行在互联网上的公共服务器,如果没有查到响应的域名,则会向它的上级服务器进行请求,直至请求到跟DNS服务器,如果也没有结果,说明该域名没有对应的解析。用户浏览器根据返回的IP地址请求相应的服务器(web原始服务器),返回响应的请求结果。

用户会在浏览器中输入域名,浏览器会将该域名发送给DNS服务器,DNS将域名解析到对应的智能DNS服务器,智能DNS服务器接收到当前的请求,并判断该用户离哪地方的服务器比较近。就返回那个地方的IP,返回DNS服务器。DNS服务器将地址返回给用户的浏览器。用户浏览器根据返回的IP地址请求相应的镜像服务器,返回响应的请求结果。
智能DNS服务器是CDN加速服务商所提供的服务器,会对用户进行判断并返回响应的结果。

CDN分类:
按内容区分:网页加速、流媒体加速、大文件加速、应用协议加速。
网页加速:
将静态资源拷贝到离用户比较近的镜像服务器上,提高访问速度。静态资源包括:HTML、CSS、图片、JS
流媒体加速:
将视频切片,将切片后的视频缓存到文件存储服务器上

大文件加速:

以上文件一般都是固定不变的,将这些文件放到CDN服务器中,能有效提高服务器的访问速度,同时减轻源站的压力。
应用协议加速:
下载工具,直接从浏览器中下载可能受目标服务器网络带宽的限制,下载速度比较慢,将需要下载的文件提前下载到代理服务器中,用户只需从代理服务器上直接下载即可,代理服务器的带宽一般远远大于目标服务器,以此提高下载速度。当代理服务器中未找到相应的文件,会使用多台服务器同时下载这个文件,并同时传输给用户,以此提高下载速度。

按推送类型分:主动推送、被动获取
主动推送:

将web服务器源站的内容分发至边缘节点,使之获得相应的副本文件,然后智能DNS服务器会引导用户访问相应的节点,完成主动推送。
被动获取:
智能DNS服务器会引导用户访问就近的节点,此时该节点会对索引进行查询。当发现服务器上没有这个文件时,则会向源站获取数据。源站对数据进行查询后,将数据返回给镜像服务器,镜像服务器再将响应的数据返回给用户,用户在浏览器上可以看到相应的内容。第一个用户访问时,是没有加速效果的,当第二个及以后的用户再访问时,镜像服务器上就有数据了,以此达到加速的作用。

CDN的应用场景:
一:网站服务的客户端群体从独立的区域扩展到全国的范围,而自身的服务器不足以覆盖全网的用户,导致部分地区的用户访问网站的速度慢,到达率不高。
解决方案:对网站的访问情况进行统计,在访问量较高的地方上部署镜像服务器。
使用CDN解决的优点:
1.节省开支
2.不需要考虑未来追加增量服务器
3.加速效果更加明显
4.覆盖范围更广
二、网站已经实现静态动态资源分离,且静态资源服务器能力到达极限,需要通过增加服务器硬件设备才能解决问题的。

使用CDN的优点:
1.节省开支
2.比自己搭建反向代理简单方便
3.不需要对当前的业务代码进行任何修改
4.不需要考虑未来追加增量服务器
5.加速效果更加明显
6.大幅度降低本地静态资源服务器的压力
三、网站频繁遭遇DDos攻击、CC攻击、DNS劫持,导致用户体验差、网络堵塞、无法提供正常服务。
如果用户对一个服务器无法访问时,CDN可以提供其他更多的访问节点。
使用CDN的优点:
提高网站安全性
保证用户访问到达率
四、网站用户跨多个ISP(电信、联通、移动、铁通),而自身服务器在其中一个机房的将CDN服务器部署在这些地方。
优点:
提高用户访问速度
减少运营商通道堵塞导致的访问失败





注:内容来源于网易云课堂DNS概述及其技术原理。
CND注意事项:
1.启用CDN的话,一定要在DNS解析里单独给“搜索引擎”线路解析到“源站IP”。
2.WordPress博客站一定要做好CDN缓存规则配置里的动、静分离设置。
3.选择CDN服务的时候一定要选择CDN方案合理科学。
4.使用CND服务要学会和熟练掌握浏览器“开发者工具”的使用
5.要善于使用CDN服务后台的“工单”来请教客服指导。
在建立CDN网络时,最关键的就是智能调度DNS,这个是CDN网络总协调,通过高效的调度算法,可以使用户得到最佳的访问体验。
其次就是在CDN节点的管理,比如涉及到内容同步机制,配置文件的更新等等,都需要有一套机制来保证。当然在大型网站中,也要考虑建设CDN体系的成本和回报率
CDN访问过程(使用缓存服务)
CDN网络是在用户和服务器之间增加cache层,主要是通过接管DNS服务器实现,将用户的请求引导到cache上获得源服务器的数据
下面让我们看看访问使用CDN缓存后的网站的过程:

通过上图,我们可以了解到,使用CDN缓存后的网站的访问过程:
1.用户输入访问的域名,操作系统向本地DNS查询域名对应的ip地址
2.本地DNS向根DNS查询域名的授权服务器(这里假设本地DNS缓存过期)
3.根DNS将域名授权DNS记录回应给本地DNS
4.本地DNS得到域名的授权DNS记录后,继续向域名授权DNS查询域名的ip地址
5.域名授权DNS查询域名记录后(一般是CNAME),回应给本地DNS
6.本地DNS得到域名记录后,向智能调度DNS查询域名的ip地址
7.智能调度DNS根据一定的算法和策略(比如静态拓扑,容量等),将最适合的CDN返节点ip地址返回给用户端
8.用户得到域名ip地址后,访问站点服务器
CDN节点服务器应答请求,将内容返回给客户端。(缓存服务器一方面在本地进行保护,以备以后使用,另一方面把获取的数据返回给客户端,完成数据服务器的过程)
通过以上的分析我们可以得到,为了实现对普通用户透明(使用缓存后用户客户端无需进行任何设置)访问,需要使用DNS(域名解析)来引导用户访问Cache服务器,以实现透明的加速服务,由于用户访问网站的第一步就是就是域名解析,所以通过修改DNS来引导用户访问时最简单的方式。
注:内容来源于http://www.360doc.com/content/17/0207/03/40167194_627159687.shtml
https://blog.csdn.net/5hongbing/article/details/78025349
需要详细了解可查阅。
2282

被折叠的 条评论
为什么被折叠?



