在httpd上使用mod_proxy_balancer的多个负载均衡器

时间:2018-01-30 08:26:42

标签: apache httpd.conf mod-proxy-balancer

了解要通过mod_proxy_balancer在httpd上使用ajp,配置如下:

<Proxy balancer://mycluster>
      BalancerMember ajp://public1.yourcompany.com:8009 route=public1
      BalancerMember ajp://public2.yourcompany.com:8009 route=public2
      ProxySet lbmethod=byrequests
</Proxy>

然而在我的情况下,我需要有2个集群,所以我想创建这样的2个代理:

<Proxy balancer://mycluster>
  BalancerMember ajp://public1.yourcompany.com:8009 route=public1
  BalancerMember ajp://public2.yourcompany.com:8009 route=public2
  ProxySet lbmethod=byrequests
</Proxy>
<Proxy balancer://my2ndcluster>
  BalancerMember ajp://public3.yourcompany.com:8009 route=public1
  BalancerMember ajp://public4.yourcompany.com:8009 route=public2
  ProxySet lbmethod=byrequests
</Proxy>

但是这个httpd无法启动。

无论如何我要配置这个?

谢谢

2 个答案:

答案 0 :(得分:0)

发现与代理设置无关的问题。修复问题并按照建议更改路径ID后,代理按预期工作。

答案 1 :(得分:-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提供。如果node1启动或仍然关闭并且切换回node1,则Apache每30秒检查一次(重试= 30)。