Linux集群技术在Web服务器中的应用
引言 网络的普及使各类电子商务、电子政务网站的流量剧增,系统瓶颈问题日益严重,直接影响了用户请求的响应时间,在高峰期有的请求甚至被拒绝.面对这种情况,一般来说有两种解决方案:一是升级硬件、购买性能更好的服务器等,但花费较多,效果不一定很理想,显然不是最好的解决方案;二是利用集群技术,在原有的硬件投资基础上,添加几台新的服务器,组建负载均衡集群系统.集群计算模式是比较经济的计算模式,允许用户把普通商用硬件系统组成机群,并根据需要随时增加新的硬件.既提高了系统的性能,同时也降低了成本.本文简要地讨论了一个用于企业Web服务的集群系统的设计思路,并给出了重点模块的设计与实现过程. 1.集群技术 集群技术是一种计算机系统之间连接的方式,运用它可以将分散的计算系统连接起来完成原来单独节点的计算系统无法完成的任务.最早的集群系统就是出于这样的并行处理的目的出现的.但是随着计算机性能的快速发展和网络不安全因素的增加,系统的稳定性和可靠性是主要面临解决的问题.于是开始使用集群方式将两台以上的设备连接起来,当整个集群系统中发生单点或局部多点故障时,集群中其他的计算机将自动来接替出故障的设备.最典型的例子就是双机热备份,两台一样的计算机系统,使用集群软件连接起来,其中一台作为另一台的备份,当主机系统崩溃时,另一台来接替它的任务.除此以外,利用集群系统的高并行性能进行复杂的科学、工程计算,也是非常有经济价值的做法. 集群技术可以有效地解决开放系统的稳定、抗压和负载平衡问题,建立一个集群系统的主要目的在于: (1)现有的应用得以保障. (2)提高性价比. (3)实现资源共享. (4)提高灵活性和可扩展性. (5)增强实用性和容错性. (6)灵活的可伸缩性. 2.设计目标及系统架构 设计一个基于Linux的集群系统,它能够不断监视集群中各台服务器的负载状况,并且将来自外网的Web请求转发到内部网中的某一台实际服务器上执行.具体来说,拥有以下的功能:
(1)服务转发.能接受来自外部网中的多种基于TCP/IP的服务请求,并将它们转发到当前负载最轻的机器上执行. (2)动态负载平衡.平衡器能够监视内部网中的实际服务器的负载状况并且找到负载最轻的机器. (3)连接持续性.来自外网的同一客户的所有请求转发到内网中的同一台服务器上进行处理. 该集群系统由调度机、服务器1、服务器2以及服务器N等机器组成.其中调度机作为内网和外网的接口.能够接收外网的用户请求.并将此用户请求发送到服务器1到服务器N中的某台机器上,当服务器处理完该请求以后,就将处理完的结果发送给调度机,然后再由调度机将结果返回给外部网的用户.试验环境中外网中的客户机器的IP地址为211.80.248.100,调度机有两个IP地址,一个是外网的211.80.248.99.一个是内网的192.168.1.1.调度机上运行的操作系统内核为Linux 2.2.x.内部网中有N台服务器,IP地址分别为192.168.1.2、192.168.1.3...192.168.1.N,上面运行的操作系统也是Linux操作系统.都将192.168.1.1设为网关.并且都增加了通往211.80.248.0网络的路由.负载调度的目的就是将客户发向调度机的请求按照内网机器当前负载的情况分发到各个服务器上. 系统实现了IP级的负载平衡.当外网客户向调度机发送一个请求时,在调度机的IP层对此请求的目标地址进行替换.将目标地址替换为内网中负载最轻的服务器的IP地址.然后将此请求再次转发出去.当内网中的服务器处理完请求后.将处理结果发往调度机,调度机再次在IP层将目标地址替换为发出请求的外网中的客户的IP地址.然后将回应转发给客户. 系统主要分为IP伪装模块、IP端口转发模块和调度模块.其中 |
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |