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

Multiple load balancer using mod_proxy_balancer on httpd

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

<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 启动失败。

我要配置这个吗?

谢谢

尝试使用 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 秒检查一次 (retry=30) node1 是否启动或仍然关闭并切换回 node1。

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