CDN简介
CDN就是内容分布网络,是构筑在现有Internet上的一种先进的流量分配网络。其目的就是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。目前CDN都以缓存网站中的静态数据为主。
CDN要达到的目标
1、可扩展。性能可扩展性:可应对新增的大量数据、用户和事务的扩展能力。成本可扩展性:用低廉的运营成本提供动态的服务能力和高质量的内容分发。
2、安全性。强调提供物理设备、网络、软件、数据和服务过程的安全性,减少因DDoS攻击或其他恶意行为造成商业网站的业务中断。
3、可靠性、响应和执行。服务可用性指能够处理可能的故障和用户体验下降的问题,通过负载均衡及时提供网络的容错机制。
CDN架构
一个用户访问某个静态文件,这个静态文件的域名假如是cdn.taobao.com,那么首先要向LocalDNS服务器发起请求,经过迭代解析后回到这个域名所在的注册服务器解析,一般每个公司都会有一个DNS解析服务器。这时这个CDN解析服务器通常会把它重新CNAME解析到另一个域名,而这个域名将最终会被指向CDN全局中的DNS负载均衡服务器,再由这个GTM来最终分配是哪个地方的用户返回给离这个访问用户最近的CDN节点。拿到这个CDN解析结果,用户就直接去这个CDN节点访问这个静态文件,如果这个节点中所请求的文件不存在,就会再回到源站去获取这个文件,然后再返回给用户。
负载均衡
负载均衡就是对工作任务进行平衡、分摊到多个操作单元上执行,如图片服务器、应用服务器等,共同完成工作任务。它可以提高服务器的响应速度及利用效率,避免软件或硬件的单点失效,解决网络拥堵问题,实现地理位置无关性。
通常有三种负载均衡架构,分别是链路负载均衡、集群负载均衡和操作系统负载均衡。
链路负载均衡,是通过 Global DNS来动态解析成不同的IP,然后用户通过IP访问不同的目标服务器。优点是直接访问目标服务器,访问会很快,但是缺点是,由于DNS有本地和Local DNS Server的缓存原因,如果有一个目标服务器挂掉,这个对应关系没有及时更新,那么用户就无法访问,后果严重。
集群负载均衡,是一种常见的负载均衡方式,一般分为硬件负载均衡和软件负载均衡。硬件负载均衡的优点是性能好,缺点是硬件设备非常昂贵。所以一般采用软件负载均衡,优点是价格低廉,缺点是一次访问请求要经过多次代理服务器,会增加网络延时。目前软件负载均衡技术较多,有四层负载均衡与七层负载均衡,详情参考:https://kb.cnblogs.com/page/188170/
CDN动态加速
CDN动态加速技术是一种流行的优化技术,技术原理就是在CDN的DNS解析中通过动态的链路探测来寻找回源最好的一条路径,然后通过DNS的调度将所有的请求调度到这个最优路径回源,从而加速用户的访问效率。