zoukankan      html  css  js  c++  java
  • 一张图说明CDN网络的原理

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

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

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

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

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

    6.请求结果发给用户。

    CDN网络是在用户和服务器之间增加Cache层,如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现,这就是CDN的最基本的原理,当然很多细节没有涉及到,比如第1步,首先向本地的DNS服务器请求。第5步,内容淘汰机制(根据TTL)等。但原理大体如此。

    当用户访问加入CDN服务的网站时,域名解析请求将最终交给全局负载均衡DNS进行处理。全局负载均衡DNS通过一组预先定义好的策略,将当时最接近用 户的节点地址提供给用户,使用户能够得到快速的服务。同时,它还与分布在世界各地的所有CDNC节点保持通信,搜集各节点的通信状态,确保不将用户的请求 分配到不可用的CDN节点上,实际上是通过DNS做全局负载均衡。

    对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。

    每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器

    负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。CDN的管理系统是整个系统能够正常运转的保证。它不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中 总的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。

    理论上,最简单的CDN网络有一个负责全局负载均衡的DNS和各节点一台Cache,即可运行。DNS支持根据用户源IP地址解析不同的IP,实现 就近访问。为了保证高可用性等,需要监视各节点的流量、健康状况等。一个节点的单台Cache承载数量不够时,才需要多台Cache,多台Cache同时 工作,才需要负载均衡器,使Cache群协同工作。

    网站哪些内容适合用CDN技术进行加速?

          CDN:510
    网站中除了静态网页、图片等静态内容非常适合用CDN技术进行加速以外,很多以动态方式制作的页面也可以通过CDN进行加速的。这些内容主要是指通过JSP/PHP等数据库查询程序生成的页面,但同一个URL对不同用户看到的内容都是一样的。这样的情况下,Cache可以缓存下这个URL及相应的内容,就象是一个标准的URL一样,即使这个URL后面有?号,跟了很多查询条件都没有关系。网站中象这样的准静态内容在采用CDN加速之后,同样能起到很好的效果。

         除了动静态网页内容外,流媒体直播、点播,大文件的上传下载等使用CDN技术进行加速效果也非常显著,并能大大缓解源站压力,实现稳定高效的网络质量。

  • 相关阅读:
    matplotlib 去掉坐标轴
    求最大公约数最小公倍数及整除求余数等
    数据分析小题
    map,reduce,filter基础实现
    今日成果:爬取百度贴吧
    Jquery瀑布流布局,jQuery Wookmark Load 示例
    html5 input type="color"边框伪类效果
    Jquery点击除了指定div元素其他地方,隐藏该div
    Jquery判断checkbox是否被选中
    Jquery给网页的title取值和赋值
  • 原文地址:https://www.cnblogs.com/SeaTop/p/7110275.html
Copyright © 2011-2022 走看看