注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

phperwuhan的博客

记载一个phper的历程!phperwuhan.blog.163.com

 
 
 

日志

 
 

Web集群+普通PC 就可万人查分  

2010-03-29 11:29:29|  分类: 技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

来源:http://www.enet.com.cn/article/2007/1127/A20071127924526.shtml

考试成绩发布系统面临的是访问规模大、访问时间密集而且分布严重不均的网上信息交互活动,这种大规模的并发性访问容易造成Web服务器资源耗尽,出现无法提供服务的过载问题。

  不论是国家公务员考试,还是其他各种类型的入学考试,都是事关无数考生前途的社会问题,这就要求考试成绩发布系统具有极高的可靠性和安全性。

  一般考试的组织单位都是各省考试院或人事部门,这类单位日常对IT系统的要求都不是太高,购买昂贵的高性能计算机的必要性并不大。

  其实,只要采用合适的解决方案,我们使用多台高端配置的普通PC机就能够组成高可伸缩性、高可靠性及透明性的Web服务集群,完全可以承担考试查分的任务。

  三种实现方式

  Web集群技术的实现方式主要有三种:地址转换模式、IP隧道模式和直接路由模式。它们各有其优缺点。

  地址转换的网络结构呈现为类似防火墙的私有网结构,通过内部私有IP地址,将服务器集群同互联网隔离开来。

  服务结点无法和客户端直接通信,不论是请求数据还是应答数据,都需要经过负载均衡器进行IP包处理。

  地址转换中主要的工作就是改写IP包的源和目的地址信息,使请求数据经过改写后重新指向内部主机。同样,内部的应答数据经过负载均衡器改写后,可以作为源地址发至请求者。

  IP隧道模式采用的是开放式的网络结构,服务结点拥有合法的互联网IP地址,可以通过路由路径模式将应答包直接返回给客户端。

  因此,负载均衡器仅仅处理进入集群的请求数据包,而返回包不经过路由器。负载均衡器和服务结点的连接可以是LAN,也可以在不同的网络上,只需要保证负载均衡器能够将IP包发送至服务结点即可。负载均衡器收到客户端的请求包后,利用协议重新处理该IP包,形成以选定服务结点的IP地址为目的IP的新IP包,原有的IP包则封装在新IP包里。服务结点收到均衡器发来的IP包后,将该包解开,根据其内部的客户端地址(源地址)将处理结果直接返回给客户端。

  与IP隧道模式一样,直接路由模式也是采用单工的连接方式,应答数据不再经过均衡器而直接返回给客户端。服务结点也必须拥有能够到达客户端的合法IP地址。而且,直接路由模式中,负载均衡器和服务器结点必须联接在同一个物理网段上。

  在直接路由模式中,调度器根据各台服务器的负载情况,动态地选择一台服务器,不用进行修改,也不封装IP报文,而是将IP报文的地址改为选出服务器的地址,再将修改后的IP报文通过局域网发送给选定的其他服务器。该服务器处理这个报文,然后根据路由表将响应报文直接返回到客户端。

  如何选择集群实现模式

  地址转换模式结构简单,但其最大的缺点是负载均衡器会成为整个系统的瓶颈,因为请求包和应答包都必须经过它,而且还要改写报文。IP隧道模式中服务器结点直接将应答内容传给用户,减轻了均衡器的负担,但该模式的缺点是适应性不好,要求所有的服务器都要支持IP隧道协议。直接路由模式的均衡器不但不必处理回送包,而且不用对请求包进行改写或重新封装,所以性能比上述两种模式都要好。但其也存在缺点:要求分配器与真实服务器连在同一物理网段上,而且真实服务器的网络设备或者设备别名不作ARP(Address Resolution Protocol,地址解析协议)响应,适应性不好。

 

ARP是用于将IP地址转换成相应网卡(NIC)的MAC地址,其工作在数据链路层。如果采用直接路由模式,因为均衡器不进行IP包的处理和改写,所以服务器必须拥有与均衡器相同的IP,这样就产生了ARP的冲突问题:对同一IP地址(VIP),在不同的时间,可能会对应不同的地址代码。解决的方法就是禁止服务器结点对VIP的ARP响应,只允许均衡器对VIP作出ARP响应。

  针对不同的网络服务需求和服务器配置,可以有8种负载调度算法:(1)轮叫算法;(2)加权轮叫算法;(3)最小连接数算法;(4)加权最小连接数算法;(5)基于局部性的最少连接数算法;(6)带复制的基于局部性最少连接数算法;(7)目标地址散列;(8)源地址散列。

  对于Web服务器负载均衡,最常用的是轮询和最小连接数算法,其中最小连接数算法优于轮询算法,因为其分析粒度更细、更精确。因为服务器性能不一,所以必须采用加权算法,以便反映各台服务器的性能差异。

  同时容纳1.5万用户

  如果集群里的Web服务器因为某些原因停止Http服务,甚至死机,但此时负责转送封包的均衡器并不知道Web服务器已经发生故障而无法使用,还是会将封包发往出故障的Web服务器,这样会影响到一部分用户的访问,给这部分用户造成网站停止服务的假象。其实,我们可以采用安装在均衡器中的模块,定时监视各台服务器的Http服务情况,如果发现某台服务器的Http服务中断,就从均衡器的调度表中去掉该台服务器。如果出现故障的服务器的Http服务随后恢复正常,依照同样的方法在调度表中恢复它的调度任务,继续向它发送封包。这样,均衡器可以在无人值守的情况下自动地管理集群内各台服务器的加人与退出服务。

  实践证明,均衡器的加入与推出管理使整个集群运行稳定、性能出众,在系统负荷最重(同时在线用户达到1.5万)的考生查分的时候,虽然出现访问速度变慢、系统处理时延长的间题,但并没有发生往年频繁碰到的系统崩溃等停止服务的故障。

  点评

  互联网规模的日益扩大及其用户群的日益增长,使访问规模大、访问时间密集而且分布严重不均的网上信息交互活动频繁出现,使相关网站的安全性受到严重威胁。

  同时,很多网站的日常访问量并不大,再加上建设单位的经费不足,如果一味地追求网站建设的高配置,并不现实。

  单纯提升处理器和服务器等硬件的性能是比较直接的解决方法,但会导致巨大的开销,而且无法保护原有设备上的投资,对于中小型企业来说不堪重负。

  Web服务器集群技术为Web服务器系统容量的不断扩展提供了良好的途径,它将一组Web服务器通过一定的形式组织在一起,构成单一的服务器映像,以提供强大的服务能力。

  同时,使用负载均衡器使整个集群运行更加稳定、性能更加出众,就是在系统负荷最重的时候也不会出现系统崩溃的现象,至多出现系统的访问速度变慢、系统处理时间延长等问题。

  Web服务器集群技术具有较高的性能价格比、高可靠性和可伸缩性,因此,Web服务器集群技术已经成为构建大型Web网站系统和日常访问量很小而在某一时刻突增的网站系统的关键技术之一。

  评论这张
 
阅读(383)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017