【问题标题】:Apache HTTPD mod_proxy_balancer with Active / Passive Setup具有主动/被动设置的 Apache HTTPD mod_proxy_balancer
【发布时间】:2011-06-17 05:34:51
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: apache2 load-balancing mod-proxy


    【解决方案1】:

    使用一个 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。

    【讨论】:

    • 非常感谢普拉文。这就是我一直在寻找的
    【解决方案2】:

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

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

    做ip failover有用的项目是linux-ha,pacemaker

    【讨论】:

      猜你喜欢
      • 2021-04-17
      • 1970-01-01
      • 2021-12-14
      • 2012-03-15
      • 2015-07-10
      • 2013-04-19
      • 1970-01-01
      • 2013-02-25
      • 2018-10-04
      相关资源
      最近更新 更多