当挂起服务器超时时,apache 代理/负载平衡器可以将请求重定向到其他可用的平衡器成员吗?

当挂起服务器超时时,apache 代理/负载平衡器可以将请求重定向到其他可用的平衡器成员吗?

我使用apache2.4.6和tomcat8来实现负载均衡解决方案。

我想知道如果 apache 平衡器从一台服务器收到超时错误,它是否会将请求重定向到另一个平衡器成员。

比如apache向tomcat1发送一个请求,但是tomcat1在10秒内无法响应,apache会将这个请求重新发送给tomcat2吗?

以下是我对 apache 代理平衡器的配置。

<Proxy balancer://myCluster timeout=10 failontimeout=on>
    BalancerMember http://server1:8080 route=tomcat1 loadfactor=1 timeout=10 retry=30
    BalancerMember http://server2:8080 route=tomcat2 loadfactor=1 timeout=10 retry=30

    ProxySet lbmethod=byrequests
   # ProxySet stickysession=JSESSIONID

    Order Deny,Allow
    Deny from none
    Allow from all
 </Proxy>

答案1

我相信您可以通过使用第二个 tomcat 服务器作为热备用来实现此功能。Apache 中的 mod_proxy 支持此功能

您可以尝试以下配置并进行测试。

<Proxy balancer://myCluster timeout=10 failontimeout=on>
    BalancerMember http://server1:8080 route=tomcat1 loadfactor=1 timeout=10 retry=30
    BalancerMember http://server2:8080 route=tomcat2 loadfactor=1 timeout=10 retry=30 status=+H

    ProxySet lbmethod=byrequests
   # ProxySet stickysession=JSESSIONID

    Order Deny,Allow
    Deny from none
    Allow from all
 </Proxy>

相关内容