![了解 Apache 负载均衡器配置中的重试值](https://linux22.com/image/80631/%E4%BA%86%E8%A7%A3%20Apache%20%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%99%A8%E9%85%8D%E7%BD%AE%E4%B8%AD%E7%9A%84%E9%87%8D%E8%AF%95%E5%80%BC.png)
我们用来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 表示始终重试处于错误状态的工作程序,且没有超时。