在前端性能优化中,使用CDN加速也是重要的优化手段。那么CDN的工作机制以及原理到底是什么呢?本文将对此做一个简单介绍

什么是CDN?

CDN内容分布网络(ContentDelivery Network)是构筑在现有的Internet上的一种先进的流量分配网络。

  • 其目的是在现有的Internet上增加一层新的网络架构,将网站的内容发布到最接近用户的服务器,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。

  • 一个CND架构 = 镜像(Mirror)+ 缓存(Cache)+整体负载均衡(GSLB)

请求CDN上的资源的过程

  1. 用户向浏览器输入 www.xxxx.com 这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求;

  2. 网站的DNS域名解析器设置了CNAME,指向了www.xxxx.com ,请求指向了CDN网络中的智能DNS负载均衡系统;

  3. 智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户;

  4. 用户向该IP节点(CDN服务器)发出请求;

  5. 由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容;

  6. 请求结果发给用户。

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网络加速常见问题解答

  1. cdn网络加速比较适合那些类型的网站?

    ① 资讯网站:信息咨询网站. 政府网站、行业网站、商城网站等 ;

    ② 动态网站,论坛、博客、交友、网络游戏、搜索/查询等;

    ③ 提供http下载的网站:软件开发商、内容服务提供商、网络游戏运行商、源码下载等 ;

    ④ 有大量流媒体应用的网站:视频点播平台、体育频道、在线教育、视频博客等网站类型。

  2. cdn网络加速是对服务器加速,还是对域名加速?

    cdn网络加速是只对网站的某一个具体的域名进行加速。如果一个网站有多个域名,则访客访问加入cdn网络加速的域名获得加速效果,访问未加入cdn网络加速的域名,则无法获得cdn网络加速效果。

  3. 使用cdn网络加速后,原网站是否需要进行修改?

    一般而言,网站无需任何修改,即可使用cdn网络加速获得加速效果。

  4. 为什么更新网站后,通过cdn网络加速后看到网页还是旧网页,怎么解决?

    由于cdn网络加速采用各节点缓存的机制,网站的静态网页和图片修改后,如果cdn缓存没有做相应更新,则看到的还是旧的网页。我们可在cdn网络加速管理面板中,通知cdn各节点来刷新自己的缓存。

    注意:在URL推送地址栏中,输入具体的网址或者图片地址,则各节点中的缓存内容即被统一删除,并且当即生效,如果需要推送的网址和图片太多,可以选择目录推送。

  5. 启用cdn网络加速后,多长时间生效?

    启用cdn网络加速后,最快1个小时即可生效,慢的话需要8个小时生效。若超过12个小时还未生效,估计是大家在操作流程上有失误,大部分情况便是没有指定的流程进行操作。

  6. 网站启用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