【IT168 专稿】Web集群服务器随着越来越多的商业网站的采用变得逐渐流行起来,而商业网站一个重要的前提就是必须具备高可用性,保证24×7小时正常运行。因此研究Web集群服务器的可用性具有重要的意义,但以前对Web 集群服务器的研究主要集中在高性能和可扩展性方面,提供高可用性仅仅通过软硬件冗余,并没有进行更深入的研究。
Linux 高可用项目在这方面做了一些工作,对后端节点组(back-end nodes)使用了MON 进行故障检测,但实用性不高。本文从这点出发把后端节点组作为研究对象提出了一种新的故障检测与恢复方法。
系统的可用性(availability)一般由系统的正常运行时间(uptime)来度量,一般表示为:
uptime = MTBF/ (MTBF + MTTR) (1)
式(1)中MTBF 是平均无故障时间;MTTR 是平均故障修复时间。节点的MTBF一般固定,所以提高可用性就是通过减少MTTR来实现。
Web 集群服务器的结构和特点
一个简单的Web 集群服务器主要由负载均衡器和一组后端节点构成,并用Ethernet 交换机相连。负载均衡器配置两个网卡:一个用来与客户进行通信;另一个用来与后端节点组进行通信,为客户提供单一的入口点,并把客户的请求均衡地分发到所有的后端节点中,图1是一个简单Web 集群服务器。
![]() |
图1 Web 集群服务器结构
集群服务器的特点:
(1) http 是无状态的协议,没有上下文,不维护连接的状态信息,到达负载均衡器的每个请求都要分发到某个后端节点上。这就要求在转发每个请求时,负载平衡器要知道后端节点的实时状态信息,从而避免向发生故障的后端节点发送请求;
(2) 在集群服务器中,后端节点是请求的执行者,负载均衡器通过停止向发生故障或超负荷的后端节点转发请求可以向客户屏蔽Web 集群服务器中的故障。
