开发者社区> leonwuv> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

cdn详解 很全面的

简介: 好记性不如烂笔头o(^▽^)o 此文主要作为初步接触CDN的学习和了解,查阅了一些资料,并按照自己的阅读习惯进行语言整理、分段和整合,参考资料见文末1,2。感谢文章贡献者,深入浅出。 CDN CDN 一定义 二CDN网络结构 三CDN工作原理 四具体实例 五关键技术 一、定义 背景: 当下的互联网应用都包含
+关注继续查看

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

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

CDN

一、定义

背景:

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

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

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

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

二、CDN网络结构

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

中心节点的功能如下: 
1. 随时监控边缘节点的健康状况(可用性,拥塞程度); 
2. 根据边缘节点到请求端的距离,以及边缘节点的健康状况,按一定的策略重定向请求; 
3. 与客户主站进行数据同步。

三、CDN工作原理

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

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

这里写图片描述

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

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

这里写图片描述

四、具体实例

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.请求结果发给用户。

这里写图片描述

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

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

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

五、关键技术

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


  1. http://www.voidcn.com/blog/xingdavis/article/p-3959211.html 
  2. http://www.cnblogs.com/shanfeng/p/5765562.html 


郑重申明:此文章转载自Summer_ZJU的csdn博客 ,原文链接 http://blog.csdn.net/xiaqunfeng123/article/details/52592448?locationNum=3

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CDN的那些事
前段时间,群友的cdn被刷爆了,这就引起了我的恐慌,我大概接入了3个域名和一个cos,要刷的话,可能会倾家荡产,国内的cdn比较便宜但是没有防护,国外的就比较贵,节点少,开了等于没开,但是他们是有防护的,盗刷应该不会这么严重,腾讯云其实也有一个类似的功能产品,scdn,有个问题,太贵啦,当时年少不懂事,测试给我花了30块,应该可以想象价格的高昂了吧。这次针对cdn的某些设置进行了一点点的优化,至少在你的网站被cc或者ddos时,自动关闭cdn,避免高昂的费用。
0 0
说说CDN
本文今天主要讲解三个方面: 第一、没有CDN之前采取的常用策略是什么; 第二、CND的概念; 第三、CDN的优点和缺点(凡是有利也有弊,任何东西都是相对的);   一、没有CDN之前采取的常用策略是什么 以我公司项目经验,常用的策略有两个: (1)规范前端开发; (2)动静分离;   小公司,特别是创业公司特别希望以最小的成本获得最大的利益。
1088 0
What Can CDN Be Used for?
CDN delivers the source station's content to the node closest to the user, improving the response speed and success rate of the user's access.
1136 0
CDN适用哪些场景?
CDN是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。今天为大家分享几个CDN的典型适用场景。
14054 0
你为什么要使用CDN?
当你选择使用CDN的时候,你是为了什么?
10396 0
CDN问题
CDN问题
875 0
+关注
leonwuv
Code is my life!
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CDN排坑指南
立即下载
《CDN排坑指南》
立即下载
CDN技术架构
立即下载