程序员人生 网站导航

CDN

栏目:服务器时间:2016-12-01 15:23:56

好记性不如烂笔头o(^▽^)o

此文主要作为初步接触CDN的学习和了解,查阅了1些资料,并依照自己的浏览习惯进行语言整理、分段和整合,参考资料见文末1,2。感谢文章贡献者,深入浅出。

CDN

  • CDN
    • 1定义
    • 2CDN网络结构
    • 3CDN工作原理
    • 4具体实例
    • 5关键技术

1、定义

背景:

当下的互联网利用都包括大量的静态内容,但静态内容和1些准动态内容又是最耗费带宽的,特别是针对全国乃至全球的大型网站,如果这些要求都指向主站的服务器的话,不但是主站服务器受不了,单端口500M左右的带宽也扛不住,所以大多数网站都需要CDN服务。

CDN,Content Delivery Network,基于内容的散布式分发网络。
那末甚么是CDN服务?
  简单的说CDN就是让本来上海的阅读器要访问北京主站内容的要求转而由部署在上海或南京的缓存来受理,这样要求的数据只需经过1跳或有限的几跳就可以到达要求端,有效利用带宽并且下降主站压力,对电子商务网站和搜索引擎网站和门户网站,CDN的公道利用显得尤其重要。

1般需要CDN服务的网站会选择以下的组织方案:
1.通过租用的IDC提供额外的CDN服务;
2..购买专业的CDN服务商的服务;
3.自己组建CDN网络;本钱顺次增高。

  CDN设计目的是实现WEB内容的负载均衡,避免出现访问要求热门,延时响应等WEB要求通病。基于此,CDN的特点可以说有
1. 散布式存储
2. 通过智能DNS解析或http重定向实现内容分发的负载均衡
3. 全局负载均衡管理与内容管理

2、CDN网络结构

CDN网络1般分为中心与边沿节点两部份,中心负责全局负载均衡管理与内容管理;

中心节点的功能以下:
1. 随时监控边沿节点的健康状态(可用性,堵塞程度);
2. 根据边沿节点到要求真个距离,和边沿节点的健康状态,按1定的策略重定向要求;
3. 与客户主站进行数据同步。

3、CDN工作原理

传统的未加缓存服务的访问进程:

  1. 用户向阅读器提供要访问的域名;
  2. 阅读器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址;
  3. 阅读器使用所得到的IP地址,域名的服务主机发出数据访问要求;
  4. 阅读器根据域名主机返回的数据显示网页的内容。

这里写图片描述

  CDN网络是在用户和服务器之间增加Cache层, 如何将用户的要求引导到Cache上取得源服务器的数据,主要是通过接收DNS实现,访问使用CDN缓存后的网站的进程:

  1. 用户向阅读器提供要访问的域名;
  2. 阅读器调用域名解析库对域名进行解析,由于CDN对域名解析进程进行了调剂,所以解析函数库1般得到的是该域名对应的CNAME记录,为了得到实 际IP地址,阅读器需要再次对取得的CNAME域名进行解析以得到实际的IP地址;在此进程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。
  3. 此次解析得到CDN缓存服务器的IP地址,阅读器在得到实际的IP地址以后,向缓存服务器发出访问要求;
  4. 缓存服务器根据阅读器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问要求;
  5. 缓存服务器从实际IP地址得得到内容以后,1方面在本地进行保存,以备以后使用,2方面把获得的数据返回给客户端,完成数据服务进程;

这里写图片描述

4、具体实例

1.用户向阅读器输入www.web.com这个域名,阅读器第1次发现本地没有dns缓存,则向网站的DNS服务器要求;
2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com,要求指向了CDN网络中的智能DNS负载均衡系统;
3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户;
4.用户向该IP节点(CDN服务器)发出要求;
5.由因而第1次访问,CDN服务器会向原web站点要求,并缓存内容;
6.要求结果发给用户。

这里写图片描述

  固然很多细节没有触及到,比如第1步,首先向本地的DNS服务器要求。第5步,内容淘汰机制(根据TTL)等。但原理大体如此。

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

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

5、关键技术

  CDN的关键技术主要有内容路由技术、内容分发技术、内容存储技术、内容管理技术等。
具体的我就不深究了,如有机会接触,再继续深入。


  1. http://www.voidcn.com/blog/xingdavis/article/p⑶959211.html ↩
  2. http://www.cnblogs.com/shanfeng/p/5765562.html ↩

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐