- 浏览: 180550 次
- 性别:
- 来自: 天堂和地狱的中间
文章分类
最新评论
-
itfirefly:
畜生,我要的文档呢
JCS(Java Caching System)简介以及相关文档 -
m635674608:
转换了吗。、怎么转换过后的长度还是gbk得长度了。str.ge ...
用java程序将GBK字符转成UTF-8编码格式 -
sydney_lin:
要是能把源码公开让我们学习多好啊
几种基于HTTP协议的RPC性能比较 -
surpass_li:
能把测试服务商和client公开一下吗?
几种基于HTTP协议的RPC性能比较 -
anhaoy:
骗子, 哪里有相关文档!!!!!!!
JCS(Java Caching System)简介以及相关文档
首先,让我们来看一下传统的Internet网络的基本结构和数据传输情况,如下图1-1所示。
图1-1 Internet 网络基本结构及数据传输方式
· 根据传统的网络结构,用户的访问流程基本如下:
a) 用户在自己的浏览器中输入要访问的网站的域名;
b) 浏览器向本地DNS请求对该域名的解析;
c) 本地DNS将请求发到网站授权的DNS服务器;
d) 授权DNS将服务器的IP地址作为解析结果送给本地DNS,
e) 本地DNS将解析结果返还给用户,同时将该解析结果保存在自己的缓存中,直到相应的TTL(生存周期)过期,才再向网站的授权DNS请求解析。
f) 用户在得到IP地址后,向该地址所指向的网站的服务器进行访问。
· 上述传统的访问模式存在着如下几个严重影响互联网用户的访问效率和质量的环节:
首先,传统的DNS解析过程在将网站主机域名转换为IP地址时,并不预先判断该服务器是否正常工作;即使该服务器已经宕机不能提供服务了,用户的请求仍将被发往这台服务器,造成服务的中断。
其次,互联网从诞生的第一天起,就缺乏一个专门的中央管理结构,也缺乏统一的产品和技术标准。这一点曾是互联网得以迅速发展的优势。但是,随着互联网的规模越来越大,这一点造成了众多不同网络结构并存的局面。不同网络间的兼容以及不同网络运营商/ISP之间的传输瓶颈等问题使得数据的流通受到限制。据统计,现有互联网上的平均传输速率不高于30Kbps。
另外,现有的互联网以数据包传输为基础,任何一个数据包的丢失或出错都必须重新发送,而平均一个重传过程需要3秒钟,从而导致延迟。并且现有的HTTP协议也有诱发延迟的因素,据调查,完整下载一个网页,需要在用户和服务器之间往返20~100次。 最后,现有的路由技术以路由器工作状态的历史数据为依据来确定当前数据包的传输路径,无法真实反应当前的路由和网络连接状况。这往往会导致数据传输所经过的路径并不是当前的最佳路径。而且,众多的路由器和交换机不但使数据传输的时间延迟增大,还会增加出错的几率,因为任何一个路由器出现问题都会影响到整个传输过程。
· ChinaCache CDN 工作原理示意图:
· ChinaCache CDN 对网络的优化作用:
ChinaCache CDN系统通过在精心挑选的网络各处放置节点服务器,从而将网站的内容放置到离用户最近的地方,避免了上述影响互联网传输性能的“第一公里”和“网间互联瓶颈”等各个环节,为改善中国的互联网环境、解决网站的服务质量和提高用户的上网速度提供了有效的解决方案。
ChinaCache CDN对网络的优化作用主要体现在如下几个方面:
◆ 解决服务器端的“第一公里”问题
◆ 缓解甚至消除了不同运营商之间互联的瓶颈造成的影响
◆ 减轻了各省的出口带宽压力
◆ 缓解了骨干网的压力
◆ 优化了网上热点内容的分布
ChinaCache CDN对网络的优化作用原理图如下:
在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差
用户访问未使用CDN缓存网站的过程为:
1) 用户向浏览器提供要访问的域名;
2) 浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址;
3) 浏览器使用所得到的IP地址,域名的服务主机发出数据访问请求;
4) 浏览器根据域名主机返回的数据显示网页的内容。
通过以上四个步骤,浏览器完成从用户处接收用户要访问的域名到从域名服务主机处获取数据的整个过程。CDN网络是在用户和服务器之间增加Cache层,如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现,下面让我们看看访问使用CDN缓存后的网站的过程:
使用了CDN缓存后的网站的访问过程变为:
1) 用户向浏览器提供要访问的域名;
2) 浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。
3) 此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;
4) 缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
5) 缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;
6) 客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。
通过以上的分析我们可以得到,为了实现既要对普通用户透明(即加入缓存以后用户客户端无需进行任何设置,直接使用被加速网站原有的域名即可访问),又要在为指定的网站提供加速服务的同时降低对ICP的影响,只要修改整个访问过程中的域名解析部分,以实现透明的加速服务, 下面是CDN网络实现的具体操作过程。
1) 作为ICP,只需要把域名解释权交给CDN运营商,其他方面不需要进行任何的修改;操作时,ICP修改自己域名的解析记录,一般用cname方式指向CDN网络Cache服务器的地址。
2) 作为CDN运营商,首先需要为ICP的域名提供公开的解析,为了实现sortlist,一般是把ICP的域名解释结果指向一个CNAME记录;
3) 当需要进行sorlist时,CDN运营商可以利用DNS对CNAME指向的域名解析过程进行特殊处理,使DNS服务器在接收到客户端请求时可以根据客户端的IP地址,返回相同域名的不同IP地址;
4) 由于从cname获得的IP地址,并且带有hostname信息,请求到达Cache之后,Cache必须知道源服务器的IP地址,所以在CDN运营商内部维护一个内部DNS服务器,用于解释用户所访问的域名的真实IP地址;
5) 在维护内部DNS服务器时,还需要维护一台授权服务器,控制哪些域名可以进行缓存,而哪些又不进行缓存,以免发生开放代理的情况。
CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cache和负载均衡器等组成。
当用户访问加入CDN服务的网站时,域名解析请求将最终交给全局负载均衡DNS进行处理。全局负载均衡DNS通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户能够得到快速的服务。同时,它还与分布在世界各地的所有CDNC节点保持通信,搜集各节点的通信状态,确保不将用户的请求分配到不可用的CDN节点上,实际上是通过DNS做全局负载均衡。
对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。
每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器
负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。
高速缓存服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。
CDN的管理系统是整个系统能够正常运转的保证。它不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中总的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。
理论上,最简单的CDN网络有一个负责全局负载均衡的DNS和各节点一台Cache,即可运行。DNS支持根据用户源IP地址解析不同的IP,实现就近访问。为了保证高可用性等,需要监视各节点的流量、健康状况等。一个节点的单台Cache承载数量不够时,才需要多台Cache,多台Cache同时工作,才需要负载均衡器,使Cache群协同工作。
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。
实际上,内容分发布网络(CDN)是一种新型的网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度,CDN代表了一种基于质量与秩序的网络服务模式。简单地说,内容发布网(CDN)是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。总的来说,内容服务基于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有"一跳"(Single Hop)之遥。同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心)的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户,即内容供应商,向最终用户提供尽可能好的体验,而这些用户是不能容忍请求响应时间有任何延迟的。据统计,采用CDN技术,能处理整个网站页面的70%~95%的内容访问量,减轻服务器的压力,提升了网站的性能和可扩展性。
与目前现有的内容发布模式相比较,CDN强调了网络在内容发布中的重要性。通过引入主动的内容管理层的和全局负载均衡,CDN从根本上区别于传统的内容发布模式。在传统的内容发布模式中,内容的发布由ICP的应用服务器完成,而网络只表现为一个透明的数据传输通道,这种透明性表现在网络的质量保证仅仅停留在数据包的层面,而不能根据内容对象的不同区分服务质量。此外,由于IP网的"尽力而为"的特性使得其质量保证是依靠在用户和应用服务器之间端到端地提供充分的、远大于实际所需的带宽通量来实现的。在这样的内容发布模式下,不仅大量宝贵的骨干带宽被占用,同时ICP的应用服务器的负载也变得非常重,而且不可预计。当发生一些热点事件和出现浪涌流量时,会产生局部热点效应,从而使应用服务器过载退出服务。这种基于中心的应用服务器的内容发布模式的另外一个缺陷在于个性化服务的缺失和对宽带服务价值链的扭曲,内容提供商承担了他们不该干也干不好的内容发布服务。
纵观整个宽带服务的价值链,内容提供商和用户位于整个价值链的两端,中间依靠网络服务提供商将其串接起来。随着互联网工业的成熟和商业模式的变革,在这条价值链上的角色越来越多也越来越细分。比如内容/应用的运营商、托管服务提供商、骨干网络服务提供商、接入服务提供商等等。在这一条价值链上的每一个角色都要分工合作、各司其职才能为客户提供良好的服务,从而带来多赢的局面。从内容与网络的结合模式上看,内容的发布已经走过了ICP的内容(应用)服务器和IDC这两个阶段。IDC的热潮也催生了托管服务提供商这一角色。但是,IDC并不能解决内容的有效发布问题。内容位于网络的中心并不能解决骨干带宽的占用和建立IP网络上的流量秩序。因此将内容推到网络的边缘,为用户提供就近性的边缘服务,从而保证服务的质量和整个网络上的访问秩序就成了一种显而易见的选择。而这就是内容发布网(CDN)服务模式。CDN的建立解决了困扰内容运营商的内容"集中与分散"的两难选择,无疑对于构建良好的互联网价值链是有价值的,也是不可或缺的最优网站加速服务。
目前的CDN服务主要应用于证券、金融保险、ISP、ICP、网上交易、门户网站、大中型公司、网络教学等领域。另外在行业专网、互联网中都可以用到,甚至可以对局域网进行网络优化。利用CDN,这些网站无需投资昂贵的各类服务器、设立分站点,特别是流媒体信息的广泛应用、远程教学课件等消耗带宽资源多的媒体信息,应用CDN网络,把内容复制到网络的最边缘,使内容请求点和交付点之间的距离缩至最小,从而促进Web站点性能的提高,具有重要的意义。CDN网络的建设主要有企业建设的CDN网络,为企业服务;IDC的CDN网络,主要服务于IDC和增值服务;网络运营上主建的CDN网络,主要提供内容推送服务;CDN网络服务商,专门建设的CDN用于做服务,用户通过与CDN机构进行合作,CDN负责信息传递工作,保证信息正常传输,维护传送网络,而网站只需要内容维护,不再需要考虑流量问题。
CDN能够为网络的快速、安全、稳定、可扩展等方面提供保障。
IDC建立CDN网络,IDC运营商一般需要有分布各地的多个IDC中心,服务对象是托管在IDC中心的客户,利用现有的网络资源,投资较少,容易建设。例如某IDC全国有10个机房,加入IDC的CDN网络,托管在一个节点的Web服务器,相当于有了10个镜像服务器,就近供客户访问。宽带城域网,域内网络速度很快,出城带宽一般就会瓶颈,为了体现城域网的高速体验,解决方案就是将Internet网上内容高速缓存到本地,将Cache部署在城域网各POP点上,这样形成高效有序的网络,用户仅一跳就能访问大部分的内容,这也是一种加速所有网站CDN的应用。
门户级网站架构设计
1、 新浪
新浪采用了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的前台缓存集群是相同的。
2、 搜狐
Sohu与新浪的原理差不多,下面是nslookup的结果:
> www.sohu.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: pagegrp1.sohu.com
Addresses: 61.135.132.172, 61.135.132.173, 61.135.132.176, 61.135.133.109 61.135.145.47, 61.135.150.65, 61.135.150.67, 61.135.150.69, 61.135.150.74 61.135.150.75, 61.135.150.113, 61.135.150.145, 61.135.131.73, 61.135.131.91 61.135.131.180, 61.135.131.182, 61.135.131.183, 61.135.132.65, 61.135.
132.80
Aliases: www.sohu.com
只不过libra.sina.com.cn换成了pagegrp1.sohu.com
我们再来看一下sohu的频道:
> news.sohu.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: pagegrp1.sohu.com
Addresses: 61.135.145.47, 61.135.150.65, 61.135.150.67, 61.135.150.69 61.135.150.74, 61.135.150.75, 61.135.150.113, 61.135.150.145, 61.135.131.73 61.135.131.91, 61.135.131.180, 61.135.131.182, 61.135.131.183, 61.135.132.65 61.135.132.80, 61.135.132.172, 61.135.132.173, 61.135.132.176, 61.135.133.109
Aliases: news.sohu.com
同新浪相同,用的是同样的服务器群,这可能是因为他们用的都是ChinaCache的服务吧,不过sohu的名字起的有点土,pagegrp1,没有libra,pavo好听,这名字听起来有点像法语,比较浪漫。
3、 网易
网易似乎没用ChinaCache的服务,下面是nslookup结果:
> www.163.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: www.163.com
Addresses: 202.106.168.103, 202.106.168.104, 202.106.168.109, 202.106.168.121 202.108.36.153, 202.108.36.155, 202.108.36.156, 202.108.36.167, 202.108.36.172 202.108.36.196
直接在www.163.com 这个域名上做了DNS负载均衡。这样的话就要求服务器必须放的非常靠近主节点,才能保证各地的用户访问的速度。
但163不同的频道是放在不同的缓存集群上的,这与sina,sohu有些不同,等于sina,sohu是按照地区划分服务器集群,而网易按照频道划分服务器集群。
> 163.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: 163.com
Addresses: 202.108.36.205, 202.108.36.206, 202.108.36.207, 202.108.36.201 202.108.36.202, 202.108.36.203, 202.108.36.204
显然,这和www.163.com不是一个集群,我们再来试一个:
> sports.163.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: channel.cache.163.com
Addresses: 202.108.36.136, 202.108.36.208, 202.108.36.209, 202.108.36.210 202.108.36.211, 202.108.36.212, 202.108.36.213
Aliases: sports.163.com
可以看出,和上面的集群也是不同的。
4、 百度
百度的前台服务器就不是很多了:
> www.baidu.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: www.baidu.com
Addresses: 202.108.250.249, 202.108.249.134
> baidu.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: baidu.com
Address: 202.108.250.228
> mp3.baidu.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: mp3.baidu.com
Address: 202.108.249.131
只有www.baidu.com做了两台服务器的集群,频道都用了一台服务器做前台
5、 一搜
> yisou.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: yisou.com
Addresses: 202.165.102.114, 202.43.217.14, 202.43.217.15, 202.43.217.16 202.43.217.17, 202.165.102.111, 202.165.102.112, 202.165.102.113
> www.yisou.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: www.yisou.com
Addresses: 202.43.217.17, 202.165.102.111, 202.165.102.112, 202.165.102.113 202.165.102.114, 202.43.217.14, 202.43.217.15, 202.43.217.16
> mp3.yisou.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: www.yisou.com
Addresses: 202.165.102.113, 202.165.102.114, 202.43.217.14, 202.43.217.15 202.43.217.16, 202.43.217.17, 202.165.102.111, 22.165.102.112
Aliases: mp3.yisou.com
前台做了8台服务器的缓存集群,www.yisou.com和 yisou.com以及mp3.yisou.com是用的同一个集群。
通过前面的分析我们可以得到一个结论:sina和sohu使用了CDN与GSBL与DNS负载均衡技术,每个地区一组前台服务器群,网易,百度使用了DNS负载均衡技术,每个频道一组前台服务器,一搜使用了DNS负载技术,所有频道共用一组前台服务器集群。
1,站点页面分析
1-1,主页面整体分析
1-2,浏览器兼容性分析
1-3,元标记检查
1-4,下载时间检查和图片检查
1-5,链接检查
1-6,原代码设计检查
2,站点运用技术和设计分析
2-1,站点采用技术及合理性
2-2,站点艺术性、设计创意和导航性分析
3,站点交互性分析
3-1,站点查询
3-2,电子邮件组
3-3,反馈信息表单
3-4,BBS
3-5,定单表单
4,站点内容分析
4-1,站点主线、版块安排与风格
4-2,页面中标题
4-3,产品或服务价值描述
4-4,产品或服务外附加有价值信息
4-5,站点信息吸引力
4-6,站点信任度
4-7,站点内容唯一性
4-8,站点信息源
5,电子商务运行环境分析
5-1,电子商务平台的运行环境
5-2,数据库开发与支持
5-3,商务平台运行的稳定性
图1-1 Internet 网络基本结构及数据传输方式
· 根据传统的网络结构,用户的访问流程基本如下:
a) 用户在自己的浏览器中输入要访问的网站的域名;
b) 浏览器向本地DNS请求对该域名的解析;
c) 本地DNS将请求发到网站授权的DNS服务器;
d) 授权DNS将服务器的IP地址作为解析结果送给本地DNS,
e) 本地DNS将解析结果返还给用户,同时将该解析结果保存在自己的缓存中,直到相应的TTL(生存周期)过期,才再向网站的授权DNS请求解析。
f) 用户在得到IP地址后,向该地址所指向的网站的服务器进行访问。
· 上述传统的访问模式存在着如下几个严重影响互联网用户的访问效率和质量的环节:
首先,传统的DNS解析过程在将网站主机域名转换为IP地址时,并不预先判断该服务器是否正常工作;即使该服务器已经宕机不能提供服务了,用户的请求仍将被发往这台服务器,造成服务的中断。
其次,互联网从诞生的第一天起,就缺乏一个专门的中央管理结构,也缺乏统一的产品和技术标准。这一点曾是互联网得以迅速发展的优势。但是,随着互联网的规模越来越大,这一点造成了众多不同网络结构并存的局面。不同网络间的兼容以及不同网络运营商/ISP之间的传输瓶颈等问题使得数据的流通受到限制。据统计,现有互联网上的平均传输速率不高于30Kbps。
另外,现有的互联网以数据包传输为基础,任何一个数据包的丢失或出错都必须重新发送,而平均一个重传过程需要3秒钟,从而导致延迟。并且现有的HTTP协议也有诱发延迟的因素,据调查,完整下载一个网页,需要在用户和服务器之间往返20~100次。 最后,现有的路由技术以路由器工作状态的历史数据为依据来确定当前数据包的传输路径,无法真实反应当前的路由和网络连接状况。这往往会导致数据传输所经过的路径并不是当前的最佳路径。而且,众多的路由器和交换机不但使数据传输的时间延迟增大,还会增加出错的几率,因为任何一个路由器出现问题都会影响到整个传输过程。
· ChinaCache CDN 工作原理示意图:
· ChinaCache CDN 对网络的优化作用:
ChinaCache CDN系统通过在精心挑选的网络各处放置节点服务器,从而将网站的内容放置到离用户最近的地方,避免了上述影响互联网传输性能的“第一公里”和“网间互联瓶颈”等各个环节,为改善中国的互联网环境、解决网站的服务质量和提高用户的上网速度提供了有效的解决方案。
ChinaCache CDN对网络的优化作用主要体现在如下几个方面:
◆ 解决服务器端的“第一公里”问题
◆ 缓解甚至消除了不同运营商之间互联的瓶颈造成的影响
◆ 减轻了各省的出口带宽压力
◆ 缓解了骨干网的压力
◆ 优化了网上热点内容的分布
ChinaCache CDN对网络的优化作用原理图如下:
在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差
用户访问未使用CDN缓存网站的过程为:
1) 用户向浏览器提供要访问的域名;
2) 浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址;
3) 浏览器使用所得到的IP地址,域名的服务主机发出数据访问请求;
4) 浏览器根据域名主机返回的数据显示网页的内容。
通过以上四个步骤,浏览器完成从用户处接收用户要访问的域名到从域名服务主机处获取数据的整个过程。CDN网络是在用户和服务器之间增加Cache层,如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现,下面让我们看看访问使用CDN缓存后的网站的过程:
使用了CDN缓存后的网站的访问过程变为:
1) 用户向浏览器提供要访问的域名;
2) 浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。
3) 此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;
4) 缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
5) 缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;
6) 客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。
通过以上的分析我们可以得到,为了实现既要对普通用户透明(即加入缓存以后用户客户端无需进行任何设置,直接使用被加速网站原有的域名即可访问),又要在为指定的网站提供加速服务的同时降低对ICP的影响,只要修改整个访问过程中的域名解析部分,以实现透明的加速服务, 下面是CDN网络实现的具体操作过程。
1) 作为ICP,只需要把域名解释权交给CDN运营商,其他方面不需要进行任何的修改;操作时,ICP修改自己域名的解析记录,一般用cname方式指向CDN网络Cache服务器的地址。
2) 作为CDN运营商,首先需要为ICP的域名提供公开的解析,为了实现sortlist,一般是把ICP的域名解释结果指向一个CNAME记录;
3) 当需要进行sorlist时,CDN运营商可以利用DNS对CNAME指向的域名解析过程进行特殊处理,使DNS服务器在接收到客户端请求时可以根据客户端的IP地址,返回相同域名的不同IP地址;
4) 由于从cname获得的IP地址,并且带有hostname信息,请求到达Cache之后,Cache必须知道源服务器的IP地址,所以在CDN运营商内部维护一个内部DNS服务器,用于解释用户所访问的域名的真实IP地址;
5) 在维护内部DNS服务器时,还需要维护一台授权服务器,控制哪些域名可以进行缓存,而哪些又不进行缓存,以免发生开放代理的情况。
CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cache和负载均衡器等组成。
当用户访问加入CDN服务的网站时,域名解析请求将最终交给全局负载均衡DNS进行处理。全局负载均衡DNS通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户能够得到快速的服务。同时,它还与分布在世界各地的所有CDNC节点保持通信,搜集各节点的通信状态,确保不将用户的请求分配到不可用的CDN节点上,实际上是通过DNS做全局负载均衡。
对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。
每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器
负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。
高速缓存服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。
CDN的管理系统是整个系统能够正常运转的保证。它不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中总的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。
理论上,最简单的CDN网络有一个负责全局负载均衡的DNS和各节点一台Cache,即可运行。DNS支持根据用户源IP地址解析不同的IP,实现就近访问。为了保证高可用性等,需要监视各节点的流量、健康状况等。一个节点的单台Cache承载数量不够时,才需要多台Cache,多台Cache同时工作,才需要负载均衡器,使Cache群协同工作。
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。
实际上,内容分发布网络(CDN)是一种新型的网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度,CDN代表了一种基于质量与秩序的网络服务模式。简单地说,内容发布网(CDN)是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。总的来说,内容服务基于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有"一跳"(Single Hop)之遥。同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心)的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户,即内容供应商,向最终用户提供尽可能好的体验,而这些用户是不能容忍请求响应时间有任何延迟的。据统计,采用CDN技术,能处理整个网站页面的70%~95%的内容访问量,减轻服务器的压力,提升了网站的性能和可扩展性。
与目前现有的内容发布模式相比较,CDN强调了网络在内容发布中的重要性。通过引入主动的内容管理层的和全局负载均衡,CDN从根本上区别于传统的内容发布模式。在传统的内容发布模式中,内容的发布由ICP的应用服务器完成,而网络只表现为一个透明的数据传输通道,这种透明性表现在网络的质量保证仅仅停留在数据包的层面,而不能根据内容对象的不同区分服务质量。此外,由于IP网的"尽力而为"的特性使得其质量保证是依靠在用户和应用服务器之间端到端地提供充分的、远大于实际所需的带宽通量来实现的。在这样的内容发布模式下,不仅大量宝贵的骨干带宽被占用,同时ICP的应用服务器的负载也变得非常重,而且不可预计。当发生一些热点事件和出现浪涌流量时,会产生局部热点效应,从而使应用服务器过载退出服务。这种基于中心的应用服务器的内容发布模式的另外一个缺陷在于个性化服务的缺失和对宽带服务价值链的扭曲,内容提供商承担了他们不该干也干不好的内容发布服务。
纵观整个宽带服务的价值链,内容提供商和用户位于整个价值链的两端,中间依靠网络服务提供商将其串接起来。随着互联网工业的成熟和商业模式的变革,在这条价值链上的角色越来越多也越来越细分。比如内容/应用的运营商、托管服务提供商、骨干网络服务提供商、接入服务提供商等等。在这一条价值链上的每一个角色都要分工合作、各司其职才能为客户提供良好的服务,从而带来多赢的局面。从内容与网络的结合模式上看,内容的发布已经走过了ICP的内容(应用)服务器和IDC这两个阶段。IDC的热潮也催生了托管服务提供商这一角色。但是,IDC并不能解决内容的有效发布问题。内容位于网络的中心并不能解决骨干带宽的占用和建立IP网络上的流量秩序。因此将内容推到网络的边缘,为用户提供就近性的边缘服务,从而保证服务的质量和整个网络上的访问秩序就成了一种显而易见的选择。而这就是内容发布网(CDN)服务模式。CDN的建立解决了困扰内容运营商的内容"集中与分散"的两难选择,无疑对于构建良好的互联网价值链是有价值的,也是不可或缺的最优网站加速服务。
目前的CDN服务主要应用于证券、金融保险、ISP、ICP、网上交易、门户网站、大中型公司、网络教学等领域。另外在行业专网、互联网中都可以用到,甚至可以对局域网进行网络优化。利用CDN,这些网站无需投资昂贵的各类服务器、设立分站点,特别是流媒体信息的广泛应用、远程教学课件等消耗带宽资源多的媒体信息,应用CDN网络,把内容复制到网络的最边缘,使内容请求点和交付点之间的距离缩至最小,从而促进Web站点性能的提高,具有重要的意义。CDN网络的建设主要有企业建设的CDN网络,为企业服务;IDC的CDN网络,主要服务于IDC和增值服务;网络运营上主建的CDN网络,主要提供内容推送服务;CDN网络服务商,专门建设的CDN用于做服务,用户通过与CDN机构进行合作,CDN负责信息传递工作,保证信息正常传输,维护传送网络,而网站只需要内容维护,不再需要考虑流量问题。
CDN能够为网络的快速、安全、稳定、可扩展等方面提供保障。
IDC建立CDN网络,IDC运营商一般需要有分布各地的多个IDC中心,服务对象是托管在IDC中心的客户,利用现有的网络资源,投资较少,容易建设。例如某IDC全国有10个机房,加入IDC的CDN网络,托管在一个节点的Web服务器,相当于有了10个镜像服务器,就近供客户访问。宽带城域网,域内网络速度很快,出城带宽一般就会瓶颈,为了体现城域网的高速体验,解决方案就是将Internet网上内容高速缓存到本地,将Cache部署在城域网各POP点上,这样形成高效有序的网络,用户仅一跳就能访问大部分的内容,这也是一种加速所有网站CDN的应用。
门户级网站架构设计
1、 新浪
新浪采用了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的前台缓存集群是相同的。
2、 搜狐
Sohu与新浪的原理差不多,下面是nslookup的结果:
> www.sohu.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: pagegrp1.sohu.com
Addresses: 61.135.132.172, 61.135.132.173, 61.135.132.176, 61.135.133.109 61.135.145.47, 61.135.150.65, 61.135.150.67, 61.135.150.69, 61.135.150.74 61.135.150.75, 61.135.150.113, 61.135.150.145, 61.135.131.73, 61.135.131.91 61.135.131.180, 61.135.131.182, 61.135.131.183, 61.135.132.65, 61.135.
132.80
Aliases: www.sohu.com
只不过libra.sina.com.cn换成了pagegrp1.sohu.com
我们再来看一下sohu的频道:
> news.sohu.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: pagegrp1.sohu.com
Addresses: 61.135.145.47, 61.135.150.65, 61.135.150.67, 61.135.150.69 61.135.150.74, 61.135.150.75, 61.135.150.113, 61.135.150.145, 61.135.131.73 61.135.131.91, 61.135.131.180, 61.135.131.182, 61.135.131.183, 61.135.132.65 61.135.132.80, 61.135.132.172, 61.135.132.173, 61.135.132.176, 61.135.133.109
Aliases: news.sohu.com
同新浪相同,用的是同样的服务器群,这可能是因为他们用的都是ChinaCache的服务吧,不过sohu的名字起的有点土,pagegrp1,没有libra,pavo好听,这名字听起来有点像法语,比较浪漫。
3、 网易
网易似乎没用ChinaCache的服务,下面是nslookup结果:
> www.163.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: www.163.com
Addresses: 202.106.168.103, 202.106.168.104, 202.106.168.109, 202.106.168.121 202.108.36.153, 202.108.36.155, 202.108.36.156, 202.108.36.167, 202.108.36.172 202.108.36.196
直接在www.163.com 这个域名上做了DNS负载均衡。这样的话就要求服务器必须放的非常靠近主节点,才能保证各地的用户访问的速度。
但163不同的频道是放在不同的缓存集群上的,这与sina,sohu有些不同,等于sina,sohu是按照地区划分服务器集群,而网易按照频道划分服务器集群。
> 163.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: 163.com
Addresses: 202.108.36.205, 202.108.36.206, 202.108.36.207, 202.108.36.201 202.108.36.202, 202.108.36.203, 202.108.36.204
显然,这和www.163.com不是一个集群,我们再来试一个:
> sports.163.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: channel.cache.163.com
Addresses: 202.108.36.136, 202.108.36.208, 202.108.36.209, 202.108.36.210 202.108.36.211, 202.108.36.212, 202.108.36.213
Aliases: sports.163.com
可以看出,和上面的集群也是不同的。
4、 百度
百度的前台服务器就不是很多了:
> www.baidu.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: www.baidu.com
Addresses: 202.108.250.249, 202.108.249.134
> baidu.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: baidu.com
Address: 202.108.250.228
> mp3.baidu.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: mp3.baidu.com
Address: 202.108.249.131
只有www.baidu.com做了两台服务器的集群,频道都用了一台服务器做前台
5、 一搜
> yisou.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: yisou.com
Addresses: 202.165.102.114, 202.43.217.14, 202.43.217.15, 202.43.217.16 202.43.217.17, 202.165.102.111, 202.165.102.112, 202.165.102.113
> www.yisou.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: www.yisou.com
Addresses: 202.43.217.17, 202.165.102.111, 202.165.102.112, 202.165.102.113 202.165.102.114, 202.43.217.14, 202.43.217.15, 202.43.217.16
> mp3.yisou.com
Server: UnKnown
Address: 192.168.1.254
Non-authoritative answer:
Name: www.yisou.com
Addresses: 202.165.102.113, 202.165.102.114, 202.43.217.14, 202.43.217.15 202.43.217.16, 202.43.217.17, 202.165.102.111, 22.165.102.112
Aliases: mp3.yisou.com
前台做了8台服务器的缓存集群,www.yisou.com和 yisou.com以及mp3.yisou.com是用的同一个集群。
通过前面的分析我们可以得到一个结论:sina和sohu使用了CDN与GSBL与DNS负载均衡技术,每个地区一组前台服务器群,网易,百度使用了DNS负载均衡技术,每个频道一组前台服务器,一搜使用了DNS负载技术,所有频道共用一组前台服务器集群。
1,站点页面分析
1-1,主页面整体分析
1-2,浏览器兼容性分析
1-3,元标记检查
1-4,下载时间检查和图片检查
1-5,链接检查
1-6,原代码设计检查
2,站点运用技术和设计分析
2-1,站点采用技术及合理性
2-2,站点艺术性、设计创意和导航性分析
3,站点交互性分析
3-1,站点查询
3-2,电子邮件组
3-3,反馈信息表单
3-4,BBS
3-5,定单表单
4,站点内容分析
4-1,站点主线、版块安排与风格
4-2,页面中标题
4-3,产品或服务价值描述
4-4,产品或服务外附加有价值信息
4-5,站点信息吸引力
4-6,站点信任度
4-7,站点内容唯一性
4-8,站点信息源
5,电子商务运行环境分析
5-1,电子商务平台的运行环境
5-2,数据库开发与支持
5-3,商务平台运行的稳定性
发表评论
-
proxy header
2007-01-19 11:31 3153通常,一般的浏览器(IE or Mozilla)都不会提交象偶 ... -
真正的取真实IP地址及利弊
2007-01-19 11:08 2236目前网上流行的所谓"取真实IP地址"的方法 ... -
SQUID的参考文档
2007-01-19 10:42 2102Linux下架设代理服务器 ... -
squid透明相关选项的说明
2007-01-19 10:40 29775.3.2squid的相关配置选项 设置squid.con ... -
关于cdn对动态网站加速的一些看法
2007-01-10 18:06 3174cdn技术采取了分布式网络缓存结构(即国际上流行的web ca ... -
CDN保护伞
2007-01-10 18:19 1154Radware可实现的防护 1. 抵抗常规的攻击 ... -
什么是服务器加速技术
2007-01-10 18:20 1215获取信息的速度快慢已经成为制约互联网发展的重要因素。如何在现有 ... -
细说网络负载均衡技术
2007-01-10 18:06 2260网络的各个核心部分随 ...
相关推荐
CDN 技术原理解析 CDN(Content Delivery Network)是近年来兴起的一种网络优化技术,旨在解决传统互联网访问模式中存在的多个瓶颈问题,提高互联网用户的访问效率和质量。从 CDN 技术的基本原理到其对网络的优化...
【CDN技术原理深度解析】 随着互联网的飞速发展,人们对网络服务的品质和访问速度有了更高的要求。尽管网络带宽不断提升,用户基数不断增长,但Web服务器的负荷和长距离传输仍然可能导致响应速度变慢,给用户带来...
CDN技术原理Content Delivery Network,即内容分发网络,是一种分布式网络服务,旨在通过将内容缓存到离用户更近的边缘服务器来提高网络服务的响应速度和可用性。CDN的基本设计思路是,通过将网站内容分发到分布在...
#### 二、CDN技术原理 传统的Internet网络基本结构如下图所示: ![](此处应该插入一张图,但由于文本格式限制无法显示,请参考文字描述) 在传统的网络结构下,用户的访问流程如下: 1. 用户在浏览器中输入要访问...
### CDN技术详解 #### 一、CDN技术发展历史 **CDN(Content Delivery Network,内容分发网络)**是一种互联网技术,它通过在不同地理位置上部署节点服务器,将源站内容分发至最接近用户的节点,使得用户可以就近...
CDN技术的应用能够提高网络的可用性、可靠性和性能,对于图片和流媒体等需要快速访问的数据类型尤其有效。 CDN工作原理涉及将用户的请求从最近的缓存服务器中重定向,而不是直接从源服务器下载内容。这样做的好处...
#### 二、CDN技术原理 ##### 2.1 缓存技术的重要性 网络缓存技术的主要目标是减少网络中冗余数据的重复传输,通过将数据转换为本地或就近访问,从而显著提高数据传输效率。互联网上传递的内容中,有很大一部分是重复...
首先,CDN技术的基本原理是通过在全球各地建立多个节点,将用户的请求定向到最近的节点,以此来实现快速的内容分发。阿里云CDN作为国内领先的CDN服务提供商,拥有覆盖全球20多个国家的200多个节点,具备6Tbps的服务...
CDN 技术原理: 1. 传统的 Internet 网络结构和数据传输情况:用户在浏览器中输入要访问的域名,浏览器向本地 DNS 请求对该域名的解析,本地 DNS 将请求发到授权的 DNS 服务器,授权 DNS 将服务器的 IP 地址作为...
#### CDN技术原理 CDN的核心技术在于缓存与负载均衡。当用户请求某个资源时,CDN会根据用户的地理位置和网络状况,将请求重定向至最近或最合适的缓存节点,从而显著减少延迟并提高访问速度。此外,通过智能路由、...
CDN技术,即内容分发网络技术,是一种专门用于改善网络内容传输速度和质量的技术。它将内容缓存到距离用户更近的服务器上,以此减少数据传输的距离,提高访问速度,优化用户体验。 cdn入门首先需要了解其基本原理。...
《cdn技术详解》内容包括cdn技术的发展历程、关键技术、商业化服务现状,以及对未来的发展展望,对构成cdn系统的关键功能模块gslb、slb、cache进行了重点讲解,除技术原理之外,还对实现这些功能模块所涉及的一些...
CDN(Content Delivery Network)加速技术是互联网领域中一种重要的技术,它通过在全球或区域内部署分布式边缘节点,将网站内容缓存到离用户最近的服务器上,以减少数据传输的延迟,提高用户访问速度和网站的可用性...
CDN技术的工作原理是将内容缓存在边缘服务器上,用户请求内容时,从最近的边缘服务器获取内容,从而减少了服务器的负载和用户的等待时间。CDN技术可以应用于各种场景,例如视频流媒体、在线游戏、软件下载、电子商务...
为了解决这一问题,CDN技术应运而生。 #### 二、CDN的工作原理 - **基本原理**:CDN的基本思想是在用户和源服务器之间增加一个或多个缓存层。这些缓存层通常由分布在不同地理位置的节点服务器组成,这些节点能够...
在探讨360-CDN技术时,我们需要关注其技术架构、实现原理、核心问题以及关键点和性能等方面。下面详细介绍这些知识点: 1. CDN技术架构: CDN(Content Delivery Network,内容分发网络)的核心作用是通过在互联网...