Apache 2.2 mod_proxy故障转移/负载平衡

时间:2016-06-09 19:47:44

标签: apache load-balancing mod-proxy failover apache2.2

我正在使用mod_proxy_balancer来管理后端服务器(tcServers)的故障转移。后端服务器可能会返回错误代码,而不是在某些其他后端服务失败时(例如NFS)超时,我们希望此类服务器也被标记为失败的节点。因此我们使用的是failonstatus指令。

<Proxy balancer://awstestbalancer>
    ProxySet failonstatus=503 
    BalancerMember https://host:port/context/ retry=30
    # the hot standby
    BalancerMember https://host:port/context/ status=+H retry=0
</Proxy>
ProxyPass /context balancer://awstestbalancer
ProxyPassReverse /context balancer://awstestbalancer

目前,故障转移与一个故障完美配合。当活动节点发生故障时,用户会收到503错误,并且从下一个请求中,备用服务器将接管。

我甚至不希望单个请求失败。无法将mod_proxy故障转移到客户端并返回错误?如果活动节点出现故障,我希望mod_proxy为同一请求尝试待机,而不仅仅是后续请求!

我也尝试了以下设置,但它们无效。使用APACHE 2.2.59

<Proxy balancer://awstestbalancer>
BalancerMember https://host:port/context route=tcserver1 loadfactor=1
BalancerMember https://host:port/context route=tcserver2 loadfactor=1
ProxySet lbmethod=bybusyness
ProxySet nofailover=Off
ProxySet stickysession=JSESSIONID
</Proxy>
ProxyPass /context balancer://awstestbalancer
ProxyPassReverse /context balancer://awstestbalancer

<Proxy balancer://awstestbalancer>
BalancerMember https://host:port/context route=tcserver1 loadfactor=1 ping=5
BalancerMember https://host:port/context route=tcserver2 loadfactor=1 ping=5
ProxySet lbmethod=bytraffic
ProxySet nofailover=On
ProxySet stickysession=JSESSIONID
</Proxy>
ProxyPass /context balancer://awstestbalancer
ProxyPassReverse /context balancer://awstestbalancer

Thanks!!!
Sid

0 个答案:

没有答案