web集群服务的负载均衡方案选择与实现
web应用服务器集群系统,是由一群同时运行同一个web应用的服务器组成的集群系统,在外界看来,就像是一个服务器一样。为了负载均衡集群服务器的负载,达到优化系统性能的目的,集群服务器将众多的访问请求,分散到系统中的不同节点进行处理。从而实现了更高的有效性和稳定性,而这也正是基于Web的企业应用所必须具备的特性。
高可靠性可以看作为系统的一种冗余设定。对于一个特定的请求,如果所申请的服务器不能进行处理的话,那么其他的服务器能不能对之进行有效的处理呢?对于一个高效的系统,如果一个Web服务器失败的话,其他的服务器可以马上取代它的位置,对所申请的请求进行处理,而且这一过程对用户来说,要尽可能的透明,使用户察觉不到!
稳定性决定了应用程序能否支持不断增长的用户请求数量,它是应用程序自身的一种能力。稳定性是影响系统性能的众多因素的一种有效的测量手段,包括机群系统所能支持的同时访问系统的最大用户数目以及处理一个请求所需要的时间。
在现有众多的均衡服务器负载均衡的方法中,广泛研究并使用的是以下两个方法:
DNS负载均衡的方法RR-DNS(Round-Robin Domain Name System)
负载均衡器
以下,我们将就这两种方法进行讨论。
DNS轮流排程 RR-DNS(Round-Robin Domain Name System)
域名服务器(Domain Name Server)中的数据文件将主机名字映射到其IP地址。当你在浏览器中键入一个URL时(例如:),浏览器则将请求发送到DNS
集中收敛
网络负载均衡主机通过在群集内定期交换组播或广播消息来协调彼此间的活动。这就使它们能够监控群集所处的状态。当群集所处状况发生变化时(比如主机故障、脱离或加入群集),网络负载均衡就会调用一个称为集中收敛的处理过程,在这个处理过中,主机之间将交换消息以确定一个新的、持续的群集状态,并推举一个具有最高优先级的主机充当新的缺省主机。当群集的全部主机就新的群集状态达成一致时,它们就会将集中收敛的完成记入Windows 2000的事件日志。
在集中收敛期间,除非故障主机没有收到服务,主机将一如继往地处理引入的网络通讯量。客户对工作主机的请求是不受影响的。在集中收敛完成时,故障主机的通讯量会重新分配给剩余主机。负载均衡通讯量将在剩余宿主间分配,从而达成特定的TCP或UDP端口间最大可能的负载均衡。如果一个主机添加到群集中,集中收敛会允许该主机接管处理端口的任务,并由此使之具备最高的优先级;同时,集中收敛还将使该主机分到它所应负担的负载均衡通讯量份额。群集扩展不会影响正在进行的群集操作,并且保证对因特网客户和服务器程序而言是以透明方式实现的。可是,在客户的相似性被选定的情况下,群集扩展会影响到跨越多重TCP连接的客户话路,这主要是因为在连接之间可能将客户映射到不同的群集主机上去了。
网络负载均衡假定只要主机参加了群集宿主间的正常消息交换,那么,它就在群集内处于正常运转状态。如果其它主机在若干期间均未收到对消息交换的响应,它们就会启动一个集中收敛操作以重新分配先前由故障宿主承担的负载。你能够控制消息交换的周期和用来决定启动集中收敛操作的通信遗漏次数。以上两者各自的默认值分别为1000毫秒 (1秒)和5次。由于上述参数不常修改,因此,它们不能在"网络负载均衡属性"对话框中进行设置。必要时,这些参数可在系统注册表中以手工方式加以调整。
相关文章