初步认识CDN镜像加速技术
一.CDN镜像加速技术简介(注:是CDN不是CND)
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络”边缘”,使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。
目前,国内访问量较高的大型网站如新浪、网易等,均使用CDN网络加速技术,虽然网站的访问巨大,但无论在什么地方访问都会感觉速度很快。而一般的网站如果服务器在网通,电信用户访问很慢,如果服务器在电信,网通用户访问又很慢。
二.CDN镜像加速技术的优势
1、本地Cache加速 提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性
2、镜像服务 消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。
3、远程加速 远程访问用户根据DNS负载均衡技术 智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度
4、带宽优化 自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能。
5、集群抗攻击 广泛分布的CDN节点加上节点之间的智能冗于机制,可以有效地预防黑客入侵以及降低各种DDOS攻击对网站的影响,同时保证较好的服务质量 。
三.CDN镜像加速技术的实现过程
第一步:修改DNS解析
前面已经说到,CDN其实是夹在网页浏览者和被访问的服务器中间的一层镜像或者说缓存,浏览者访问时点击的还是服务器原来的URL地址,但是他看到的内容其实是离他的IP地址所在地最近的一台镜像服务器上的页面缓存内容,也就是说用户在使用原来的URL访问服务器时并没有实际访问到服务器上的内容,所以要实现这个效果,就得在这个服务器的域名解析上进行一些调整。
实际上,这个服务器的域名解析过程已经转变为为访问者选择离他最近的镜像服务器,因此域名的解析服务器的IP要改成CDN运营商架设的智能解析服务器的IP,例如你在新网注册一个域名,默认用的就是新网的DNS服务器为你进行解析,而假设你选择了网宿的CDN服务,就得修改域名管理的设置,改成使用网宿的CDN解析服务器来进行解析。
这样,当一个浏览者访问你的网站时,他访问的URL地址就会被网宿的CDN解析服务器解析到网宿科技各地镜像服务器中离这个浏览者最近的一台上面。
第二步:调整网页架构
CDN既然是一种缓存技术,那么它的实时性肯定是无法实现的,镜像服务器上的缓存一般都是隔一定的时间更新一次,因此在更新期间内,用户看到的内容是不会变的;所以使用CDN加速的服务器应该以静态页面和实时更新频率较低的内容为主,像论坛、天气预报这种内容更新频繁的站点使用CDN反而适得其反。
CDN最适合的领域是资讯提供站点或者其他以静态页面为主的内容展示性质站点。
第三步:镜像服务器自动高新缓存
镜像服务器上面安装有一个可以进行自动远程备份的软件,当然它只备份静态页面和图片这些,每隔一定的时间,各个镜像服务器就会到网站的源服务器上去获取最新的内容。
那么有些网友就觉得,如果源服务器已经更新了但是缓存服务器还没更新,那该怎么办?这个问题其实并不存在,如果用户访问的是缓存服务器上也没有的页面,那么镜像服务器会先从源服务器上拿到这个页面的缓存然后再发送给访问者,如果用户访问的是动态页面,那么这个访问请求就会被提交到源服务器。
四.CDN镜像加速技术的应用和效果
CDN对于门户性质资讯站点的加速效果还是非常明显的,以新浪为例:
新浪采用了ChinaCache做的CDN系统,ChinaCache在全国分布了四十多个点,同时采用基于动态DNS分配的全球服务器负载均衡技术。
从新浪的站点结构可以看出:
> www.sina.com.cn
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: libra.sina.com.cn
Addresses: 61.135.152.71, 61.135.152.72, 61.135.152.73, 61.135.152.74 61.135.152.75, 61.135.152.76, 61.135.153.181, 61.135.153.182, 61.135.53.183, 61.135.153.184, 61.135.152.65, 61.135.152.66, 61.135.152.67, 61.135.12.68, 61.135.152.69, 61.135.152.70
Aliases: www.sina.com.cn, jupiter.sina.com.cn
在北京地区ChinaCache将www.sina.com.cn的网址解析到libra.sina.com.cn,然后libra.sina.com.cn做了DNS负载均衡,将libra.sina.com.cn解析到61.135.152.71等16个ip上,这16个ip分布在北京的多台前台缓存服务器上,使用squid做前台缓存。如果是在其它地区访问www.sina.com.cn可能解析到本地相应的服务器,例如pavo.sina.com.cn,然后pavo又对应了很多做了squid的ip。这样就实现了在不同地区访问自动转到最近的服务器访问,达到加快访问速度的效果。
我们再看一个新浪其它频道是指到哪里的:
> news.sina.com.cn
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: libra.sina.com.cn
Addresses: 61.135.152.65, 61.135.152.66, 61.135.152.67, 61.135.152.68 61.135.152.69, 61.135.152.70, 61.135.152.71, 61.135.152.72, 61.135.152.73 61.135.153.178, 61.135.153.179, 61.135.153.180, 61.135.153.181, 61.135.153.182 61.135.153.183, 61.135.153.184
Aliases: news.sina.com.cn, jupiter.sina.com.cn
可以看出,各个频道的前台缓存集群与www.sina.com.cn的前台缓存集群是相同的。
新浪使用CDN后效果也非常明显:
这是在笔者在广州 ping 新浪域名,被解析到华南这边的镜像服务器,反映速度快,稳定无丢包:
假如没使用CDN,还是访问新浪在北京架设的服务器,不仅反应速度慢了好几倍,甚至还出现超时。
【转载歪歪百度空间】
最新评论