我正在使用apache2.4.6和tomcat8来实现负载平衡解决scheme。
我想知道是否apache平衡器将请求redirect到另一个平衡器成员,如果它从一个服务器获取超时错误。
例如,apache发送一个请求到tomcat1,但tomcat1不能在10秒内响应,将apache重新发送这个请求到tomcat2?
以下是我的configuration为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>
我相信你可以通过使用第二台Tomcat服务器作为热备份来实现这个function。 这在apache中被mod_proxy支持
你可以尝试下面的configuration和testing。
<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>