CDN
CDN的全称是content delivery network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度
和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础
之上的一层智能虚拟网络,CDN系统能够实时的根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间
等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络
拥挤的状况,提高用户访问网站的相应速度。
产生背景之一:
BGP机房虽然可以提升用户体验,但是价格昂贵,CDN的诞生可以提供比BGP机房对于用户更好的体验(让地区的同一线路
访问当地的同一线路的网站),BGP机房和普通机房价格将近5-10倍的价格差。CDN使用单线的机房,根据用户的线路以及
位置,为用户选择靠近用的位置以及相同运营商线路,既提升了用户体验价格又降下来了。
CDN的价值:
1、为客户省钱
2、提供企业网站的用户体验
3、可以阻挡大部分流量***
a)引入互联网内容:丰富网内内容资源;
b)提升用户体验:根据就近取用原则,实现用户请求的本地化响应,减少由于互联互通带宽限制、链路距离/质量不可控以及因竞争带来的人为影响等潜在因素造成的用户体验下降及投诉;
c)降低出口压力、减少出境流量,降低运营成本;
CDN的特点
1、本地Cache加速提高了企业站点(尤其是含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性
2、镜像服务消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到
良好的访问质量
3、远程加速远程访问用户根据DNS负载均衡技术只能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度
4、带宽优化自动生成服务器的远程镜像cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、
分担网络流量、减轻原站点web服务器负载等功能
CDN的工作原理
简单原理图
CDN技术原理
原理说明
1、用户访问目标站点(如http://www.163.com),经由本地DNS向源站DNS发起DNS解析请求
2、由于目标站点(签约客户)已将其DNS解析授权给CDN厂家的GLB(通过CNAME方式), 所以用户在实际解析过程中解析到的结果不是网站的IP地址,而是CDN厂家提供的一个加速域名(如www.163.com.lxdns.com)
3、该加速域名通过再次解析,得到一个IP地址(用户实际获取访问资源的地址)。值得注意的是,这个IP地址,并非随意分配,而是根据用户的运营归属、所在地等诸多因素综合评选出的一个最佳节点IP地址
CDN的用途
企业或门户网站的图片、视频、css、js、html等静态数据的缓存。
大网站把全站首页静态化放CDN,推广页面
支持动态加速
CDN的架构
CDN服务提供商架构的关键元素
DNS和只能DNS集群(bind,powerdns)
cache集群(squid,ats,nginx,varnish)
用户源站(CDN服务的客户)
外围(计费、日志分析、存储、portal展示)
产品体系架构图
CDN的计费
CDN用多少交多少钱,这和IDC机房先购买固定带宽是有区别的
CDN流量暴高如何分析与解决
案例:http://oldboy.blog.51cto.com/2561410/909696
CDN案例:有的时候我们源站负载暴高(web服务以及存储)
排查:
1)分析web日志。IP来源谁
2)有可能CDN频繁来抓数据(源站更新频繁,CDN的缓存经常倒腾数据,命中率要高一些)。404、403要处理
3)CDN公司增加缓存节点,抓源站数据。告诉CDN抓自己服务器,不要老抓源站
源站更新后,CDN怎么更新?
1)源站更新,CDN不知道也不关注
外部用户触发:当用户请求元素,这个元素CDN没有,CDN去源站请求
内部编辑触发:源站更新通过CDN接口推送到CDN,也可以让CDN删除老的更新新的