存在的问题
Linux高可用的MON 模块驻留在负载均衡器上,如图2(a)所示。每隔一定的时间间隔执行ping 命令,来测试各后端节点的状态是“死”还是“活”,并通过发送测试页面来检测后端节点Web 服务的可用性。当检测出故障时发出告警信息并停止向该后端节点发送请求。这种方法有以下不足:
(1) 由于MON 模块驻留在负载均衡器上定期检测和接收后端节点的状态信息,占用了负载均衡器的资源,特别在系统负载过重时这种方法会降低了负载均衡器调度和转发请求的速度;
(2) 只有当后端节点发生故障,才能真正诊断到故障;故障诊断时间过长;
(3) 在负载均衡器中,一个新的请求到达就会发生一次调度和转发。这样调度的时间间隔要远小于检测服务器状态的时间间隔,造成大部分请求在调度时所基于的后端节点状态信息是过时的,有可能产生调度错误。
![]() |
(a) MON的结构
![]() |
(b) 改进方法的结构
