CDN工作机制以及原理浅析
在前端性能优化中,使用CDN加速也是重要的优化手段。那么CDN的工作机制以及原理到底是什么呢?本文将对此做一个简单介绍
什么是CDN?
CDN内容分布网络(ContentDelivery Network)是构筑在现有的Internet上的一种先进的流量分配网络。
其目的是在现有的Internet上增加一层新的网络架构,将网站的内容发布到最接近用户的服务器,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。
一个CND架构 = 镜像(Mirror)+ 缓存(Cache)+整体负载均衡(GSLB)
请求CDN上的资源的过程
用户向浏览器输入 www.xxxx.com 这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求;
网站的DNS域名解析器设置了CNAME,指向了www.xxxx.com ,请求指向了CDN网络中的智能DNS负载均衡系统;
智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户;
用户向该IP节点(CDN服务器)发出请求;
由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容;
请求结果发给用户。
CDN网络是在用户和服务器之间增加Cache层,如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现,这就是CDN的最基本的原理。
当用户访问加入CDN服务的网站时,域名解析请求将最终交给 全局负载均衡DNS 进行处理。全局负载均衡DNS通过 一组预先定义好的策略 ,将 当时最接近用户的节点地址 提供给用户,使用户能够得到快速的服务。同时,它还 与分布在世界各地的所有CDN节点保持通信 ,搜集各节点的通信状态,确保不将用户的请求 分配到不可用的CDN节点上 ,实际上是 通过DNS做全局负载均衡。
对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。
每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器
- 负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;
- 同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。
CDN的管理系统是整个系统能够正常运转的保证。它不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中 总的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。
理论上,最简单的CDN网络有一个负责全局负载均衡的DNS和各节点一台Cache,即可运行。DNS支持根据用户源IP地址解析不同的IP,实现 就近访问。为了保证高可用性等,需要监视各节点的流量、健康状况等。一个节点的单台Cache承载数量不够时,才需要多台Cache,多台Cache同时 工作,才需要负载均衡器,使Cache群协同工作。
cdn网络加速常见问题解答
cdn网络加速比较适合那些类型的网站?
① 资讯网站:信息咨询网站. 政府网站、行业网站、商城网站等 ;
② 动态网站,论坛、博客、交友、网络游戏、搜索/查询等;
③ 提供http下载的网站:软件开发商、内容服务提供商、网络游戏运行商、源码下载等 ;
④ 有大量流媒体应用的网站:视频点播平台、体育频道、在线教育、视频博客等网站类型。
cdn网络加速是对服务器加速,还是对域名加速?
cdn网络加速是只对网站的某一个具体的域名进行加速。如果一个网站有多个域名,则访客访问加入cdn网络加速的域名获得加速效果,访问未加入cdn网络加速的域名,则无法获得cdn网络加速效果。
使用cdn网络加速后,原网站是否需要进行修改?
一般而言,网站无需任何修改,即可使用cdn网络加速获得加速效果。
为什么更新网站后,通过cdn网络加速后看到网页还是旧网页,怎么解决?
由于cdn网络加速采用各节点缓存的机制,网站的静态网页和图片修改后,如果cdn缓存没有做相应更新,则看到的还是旧的网页。我们可在cdn网络加速管理面板中,通知cdn各节点来刷新自己的缓存。
注意:在URL推送地址栏中,输入具体的网址或者图片地址,则各节点中的缓存内容即被统一删除,并且当即生效,如果需要推送的网址和图片太多,可以选择目录推送。
启用cdn网络加速后,多长时间生效?
启用cdn网络加速后,最快1个小时即可生效,慢的话需要8个小时生效。若超过12个小时还未生效,估计是大家在操作流程上有失误,大部分情况便是没有指定的流程进行操作。
网站启用cdn网络加速后,有些地区无法访问,怎么解决?
cdn网络加速启用后,若某些地区不能正常访问,大致有以下几种原因:
① cdn网络加速的问题;
② 源站点出现故障;
③ 源站点被关闭;
④ 访客自己的网络故障。
原文:
http://host.zzidc.com/wljc/1048.html
https://blog.csdn.net/u011159417/article/details/53694603
https://blog.csdn.net/coolmeme/article/details/9468743