4

我最近决定使用 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/

提前致谢。

4

2 回答 2

8

使用 BalancerMember 之一作为热备

<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 处理。Apache 每 30 秒检查一次(重试 = 30)节点 1 是否启动或仍然关闭并切换回节点 1。

于 2012-06-18T13:01:05.923 回答
1

我会设置具有相同配置的被动节点,可能在启动时与 rsync 或 glusterfs 等同步...

使用两个相同的平衡器,都处于活动状态,我将设置一个共享 IP,即主节点上的别名。因此,如果主节点发生故障,辅助节点会立即启动共享 IP。

进行 ip 故障转移的有用项目是 linux-ha,pacemaker

于 2011-06-26T20:35:39.357 回答