什么是CDN

什么是CDN

CDN(Content Delivery Network)内容分发网络,简单的说就是通过在不同地点缓存内容,然后通过负载平衡等技术将用户请求定向到最近的缓存服务器上获取内容,提高用户访问网站的响应速度。和简单的内容镜像不同,CDN通过用户就近性和服务器负载的判断,以一种更为高效的方式为用户的请求提供服务。

CDN包括分布式存储负载均衡网络请求的重定向内容管理,其中内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。内容服务基于缓存服务器,也称作代理缓存(Surrogate),这样的缓存服务器分布在各地,为就近用户提供服务,缓存内容从数据中心自动获取,对用户透明。据说采用CDN技术能处理整个网站页面的 70%~95%的内容访问量,对于一些大型网站来说,没有CDN,单靠数据中心支撑所有访问量是不可想象的。

CDN中的关键技术包含以下几个方面;

部署CDN后,用户访问网站的流程如下图:
CDN

  1. 用户请求页面,域名解析的请求发送到网站的DNS域名解析服务器;
  2. 网站的DNS服务器将请求指向到智能DNS负载均衡系统;
  3. 智能DNS负载均衡系统对域名进行智能解析,将响应速度最快的CDN节点IP返回给用户;
  4. 浏览器向速度最快的CDN节点发出访问请求;
  5. 如果请求的内容是第一次访问,CDN节点将回到数据中心获取用户请求的数据,缓存并发给用户;
  6. 当有其他用户再次访问同样内容时,CDN将直接将缓存数据返回给客户,完成请求/服务过程。

从以上流程可以看到,CDN其实也没有什么特别的,主要是通过负载均衡访问路由转向本地代理缓存来加速网站访问,同时对于用户访问来说是透明的,用户端无须进行任何设置。

对于CDN一无所知,从网上找了点资料,主要内容参考的这里