什么是CDN
CDN的全称是Content Delivery Network,即内容分发网络。
其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢等日常使用问题。
狭义地讲,内容分发布网络(CDN)是一种新型的网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度,CDN代表了一种基于质量与秩序的网络服务模式。简单地说,内容发布网(CDN)是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。
为什么使用CDN
为了让用户获取尽可能好的体验
节约带宽和提高响应速度
据统计,Internet上超过80%的用户重复访问20%的信息资源,给缓存技术的应用提供了先决的条件。缓存服务器的体系结构与Web服务器不同,缓存服务器能比Web服务器获得更高的性能,缓存服务器不仅能提高响应速度,节约带宽,对于加速Web服务器,有效减轻源服务器的负荷是非常有效的。
根据加速对象不同,分为客户端加速和服务器加速,客户端加速Cache部署在网络出口处,把常访问的内容缓存在本地,提高响应速度和节约带宽;服务器加速,Cache部署在服务器前端,作为Web服务器的前置机,提高Web服务器的性能,加速访问速度。
CDN 的工作原理
CDN是一种新的网络架构,旨在解决用户访问体验的问题,主要实现手段:
镜像服务器:但是购买和维护新服务器的费用较高,另外还必须在各个地区设置镜像服务器,配备专业技术人员进行管理与维护。大型网站在随时更新各地服务器的同时,对带宽的需求也会显著增加,因此一般的互联网公司不会建立太多的镜像服务器。
高速缓存:成本较低,适用于静态内容。Internet的统计表明,超过80%的用户经常访问的是20%的网站的内容,在这个规律下,缓存服务器可以处理大部分客户的静态请求,而原始的WWW服务器只需处理约20%左右的非缓存请求和动态请求,于是大大加快了客户请求的响应时间,并降低了原始WWW服务器的负载。
通过上图,我们可以了解到,使用了CDN缓存的网站的访问过程
为了实现既要对普通用户透明,又要在为指定的网站提供加速服务的同时降低对ICP的影响,只要修改整个访问过程中的域名解析部分,以实现透明的加速服务
CDN的网络架构
CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cache和负载均衡器等组成。
当用户访问加入CDN服务的网站时,域名解析请求将最终交给全局负载均衡DNS进行处理。全局负载均衡DNS通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户能够得到快速的服务。同时,它还与分布在世界各地的所有CDNC节点保持通信,搜集各节点的通信状态,确保不将用户的请求分配到不可用的CDN节点上,实际上是通过DNS做全局负载均衡。
每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。
CDN的技术手段
实现CDN的主要技术手段是高速缓存、镜像服务器。
我们一般提CDN指的多为缓存加速
目前常用的缓存技术有squid、varnish、nginx、trafficserver
应用
商用CDN+内部CDN
商用CDN
多家互为备份,确保加速资源的可靠
内部CDN
提供内部最优访问,缓解中心存储的压力,缓解商用CDN的异常回
源对web服务器及后端存储服务器的压力
网友评论