我最近决定使用Apache HTTPD(在CentOS上 - RPM版本httpd-2.2.3-45.el5.centos)和mod_proxy以及mod_proxy_balancer来创建一个支持我的JBoss应用服务器的软件负载均衡器。当前的设置(见下面的配置)似乎工作正常,两个服务器都在积极处理入站请求。
但是,我想设置一个主动 - 被动群集,其中一个服务器主动处理请求,一旦失败,它将故障转移到被动节点,使其处于活动状态。是否可以使用mod_proxy_balancer?
我当前与此相关的httpd.conf段如下。
<Proxy balancer://mycluster>
Order deny,allow
Allow from all
BalancerMember http://192.168.2.1:8080 route=node1
BalancerMember http://192.168.2.2:8080 route=node2
</Proxy>
ProxyPass / balancer://mycluster/ lbmethod=byrequests stickysession=JSESSIONID|jsessionid
ProxyPreserveHost On
ProxyPassReverse / http://192.168.2.1:8080/
ProxyPassReverse / http://192.168.2.2:8080/
提前致谢。
答案 0 :(得分:4)
使用BalancerMember之一作为Hot Standby
<Proxy balancer://mycluster>
BalancerMember http://192.168.2.1:8080 retry=30
# the hot standby
BalancerMember http://192.168.2.2:8080 status=+H retry=0
</Proxy>
现在node1服务于所有请求,node2等待,直到node1失败并接管。一旦node1启动,所有请求将再次由node1提供。如果node1启动或仍然关闭并且切换回node1,则Apache每30秒检查一次(重试= 30)。
答案 1 :(得分:1)
我设置了具有相同配置的被动节点,可能在启动或glusterfs等时与rsync同步...
使用两个相同的平衡器,两个都是活动的,我设置一个共享IP,一个主节点上的别名。 因此,如果主节点发生故障,则辅助节点会立即激活共享IP。
执行ip故障转移的有用项目是linux-ha,pacemaker