CDN2

一、网站一开始到现在所遇到的问题:

1)无法及时满足并发用户增长得需要。

2)在没有设置镜像前,无法满足较远用户的访问需要。

3)在设置镜像后,中心服务器与镜像之间信息同步不够及时。

4)很多情况下,一个镜像站点失效后,无法及时搞笑的调度到最近的镜像来服务。

5)通过部署镜像来解决问题会明显增加成本。

6)中心服务器IP地址的暴露导致易受黑客DDoS攻击。

二、CDN出现前的网站服务技术

1)扩展技术Scale up/Scale out

i')Scale up:提高网站服务器的硬件水平。如增加高速处理器,配置更大的内存和硬盘,或是配置多处理器系统。

优势:用户依然是直接访问源站服务器,只是单台服务器能够提供服务的用户数增加了。

劣势:解决远距离传输带来的质量问题是无效的,而且往往需要同时对整个系统进行硬件升级,灵活性和扩展性都比较差。

ii')Scale out:采用服务器集群。

单台服务器满足不了大规模用户并发处理的要求,这是就产生了集群方案。

一个集群由很多台服务器组成,以负载分担的方式处理同一个站点的用户请求。

集群内需要引用负载均衡设备,根据用户请求的类型、请求内容、用户名称等,将请求分配到某台具体服务器上进行响应。

2)镜像技术(Mirroring)

镜像是冗余的一种类型。如磁盘镜像:一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本。

镜像服务器上安装有一个可以进行自动远程备份的软件,每隔一定的时间,各个镜像服务器就会到网站的源服务器上去获取最新的内容。

这种方法常用来解决源站服务器和用户在不同运营商网络中的问题。

镜像站点对主站点起到了用户分流和应急备份作用。

劣势:用户自行选择时往往带有一定的盲目性,有时并不能起到就近服务的作用。

          对镜像站点来说,每个镜像都是源站的百分之百复制,所以对体积庞大的网站来说,部署多个镜像站点成本是非常高的。

3)缓存技术(Cache)

缓存是将访问过的数字媒体存储起来,为后续的重复访问使用。

基于缓存技术的主要应用方式有缓存代理和CDN。

i'缓存代理服务一定范围内的访问域,访问域内的内容访问请求通过缓存代理执行。缓存代理缓存被访问过的内容,后续的相同内容访问直接通过缓存代理获得服务。缓存代理的一种复杂实现方式是部署分层缓存,就是在不同的物理位置部署多台缓存服务器,逻辑上采用分层模式,上层缓存作为下层缓存的内容存储器,保证及时向下一级缓存提供所需的内容。直接向用户提供服务的服务器只需向上一层缓存服务器请求内容,而非向源站请求。这样,获得内容的时间更短,同时也分担了源站服务器的压力。

ii'CDN通过将内容存储到离用户最近的地方实现面向大规模用户的就近服务。

   从某种意义上可以说,CDN是在缓存技术的基础上发展起来的,或者说CDN是缓存的分布式集群实现。

   负载均衡系统和内容管理系统都是为了更好地实现各个缓存节点之间的协同工作。以上提到的分层缓存方案在原理上已经非常接近CDN,所以CDN也可以理解成智能调度加上分层缓存技术的组合。

Cache设备的工作方式和设计要求:

CDN系统实现的基础:内容缓存技术通过对副本进行缓存来满足后续相同的用户请求。

实际的网络部署应用中,应用缓存工作是通过Cache设备来实现的。

根据缓存内容的不同:

Cache设备分为 WEB Cache 流媒体Cache

Web Cache作为一种网页缓存技术,可以再用户访问网站服务器的任何一个中间网元上实现。根据HTTP协议的定义,在一次网页访问中,用户从客户端发出请求到网站服务器响应请求内容的交互过程中,通常会涉及4个关键的网元:用户、代理、网关和WEB服务器。

在用户端实现缓存技术在Http协议中有明确的规定,比如用户浏览器可以缓存已经访问过的网页,用户再次访问时可以直接访问这个网页副本。

根据不同的应用场景和用户需求,WEB模式不同,对WEB Cache有不同的要求。

1)当WEB Cache作为代理使用时,通常工作在正向代理或者透明代理的模式,WEB Cache可以在这两种模式下实现访问内容副本的缓存和服务。

2)WEB Cache应用最多的地方还是在网关上,这也是CDN的典型应用场景,网关通常工作在反向代理模式。

正向代理:

这种方式下,需要配置其网络访问的代理服务器地址为Cache设备的地址,内网用户对互联网的访问都通过代理服务器代理完成。

也可以对特殊应用设置代理服务器,此时仅该类访问需要通过代理服务器代理完成。

通常正向代理的缓存设备支持冗余配置,从而保证代理系统的稳定性和可用性。


用户主机和代理服务器部署在同一个网络环境中,用户主机地址为192.168.10.101,正向代理服务器的地址为192.168.10.1,访问的外网服务器地址172.16.10.200。

用户需要为所使用的主机配置正向代理服务器地址(192.168.10.1)和服务端口,之后用户在上网时其主机对外网服务器的数据传输首先要传输给正向代理服务器,代理服务器检查代理缓存中是否保存了用户请求数据,如果有则直接返回给用户,如果没有缓存请求内容,则正向代理服务器负责发送用户主机请求数据到外网目标服务器,同时接收并缓存外网服务器响应数据,同时将相应数据反馈给用户主机。

在执行正向代理功能时也可以完成安全认证和访问控制功能:如可以设置某些用户在工作时间访问外网站点,或者禁止访问某些外部站点等。

正向代理多用于中小企业网络环境,Cache设备作为企业网的出口网关提供代理服务,内容缓存,Internet访问控制,安全认证等功能。

在正向代理模式下,Cache设备可以为企业网节省出口带宽,提高企业内部网络的安全性,防止员工滥用网络资源并在一定程度上防御病毒感染。



反向代理:

在这方式中,用户不需要配置代理服务器地址,Cache设备的地址作为被访问域的服务地址写入DNS记录,并利用Cache设备的内容路由/交换能力完成代理访问。

反向代理和其他代理方式的区别是:反向代理专门对定制的内容进行加速,如域名easuxue.com之中的所有网页内容或域名easyxue.com之中的所有流媒体内容。

反向代理多用于大型ISP/ICP和运营商环境,对于运营商和ISP,反向代理可以实时透明的内容缓存,增加用户访问内容的速度和提高用户满意度。

反向代理的优势在于对于用户来说,不会感觉到任何Cache设备的存在。同时,反向代理的部署方式有很多变化,ISP可以通过在服务器集群前部署简单的内容交换设备实现。

再反向代理方式下,当Cache数量较多,网络规模较大时,需要不时GSLB来对全网中的Cache进行负载均衡,并对全网的内容分发策略进行设定,就形成CDN网络的雏形。


反向代理服务器部署与应用服务器部署在同一个网络环境中,应用服务器借助反向代理对外提供服务,反向代理提供负载分担和安全隔离作用。

透明代理:

透明代理方式下,用户的浏览器不需要配置代理服务器地址,但是用户的路由设备需要支持WCCP协议(Web Cache Control Protocol)。

路由器配置了WCCP功能后,会把指定的用户流量转发给Cache,由Cache对用户提供服务。

另一种方案是利用4层交换机将用户的流量转发给Cache,由Cache对用户提供服务。

使用WCCP或4层交换都可以支持负载均衡,可以对多台Cache平均分配流量。这样可以扩展网络规模,支持大量的用户访问。用户不会感觉到任何Cache的存在。

透明代理可以看做是通过网络设备或协议实现的正向代理工作模式。
透明代理服务器部署在企业内部网络环境中,与正向代理不同的是,内部用户在王文外部网络时不需要配置任何代理服务。





猜你喜欢

转载自blog.csdn.net/jz1993/article/details/80772915
cdn
今日推荐