了解 Apache 负载均衡器配置中的重试值

了解 Apache 负载均衡器配置中的重试值

我们用来mod_proxy平衡后端服务器之间的负载。我们有不同的设置,一些后端服务器运行在tomcat\jboss.如下balancer configuation

BalancerMember http://server1:21080 min=1 max=1000 loadfactor=1 retry=1 timeout=240 route=tc_server1 BalancerMember http://server2:21080 min=1 max=1000 loadfactor=1 retry=1 timeout=240 route=tc_server2 BalancerMember http://server3:21080 min=1 max=1000 loadfactor=1 retry=1 timeout=240 route=tc_server3

我们面临的问题是,一旦后端服务器处于错误状态,进一步的请求仍然会转发到该服务器。是因为retry我们的配置中设置为仅 1 秒吗?实际上retry指定了什么。这是否意味着一旦主机处于错误状态,在将秒数设置为retry值之前,不要向该服务器发送进一步的请求。如果是这种情况,将retry值设置为更高的数字对我们来说可能是更好的选择。我们可以将其设置为足以解决坏节点的值。

答案1

是的,将重试值设置为某个值更高数字。

重试:

连接池工作线程重试超时(以秒为单位)。如果到后端服务器的连接池工作线程处于错误状态,Apache 将不会向该服务器转发任何请求,直到超时为止。这使得可以关闭后端服务器进行维护并稍后将其恢复在线。值 0 表示始终重试处于错误状态的工作程序,且没有超时。

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

相关内容