gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 07:49:12 25 4
gpt4 key购买 nike

我正在使用 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

最佳答案

以下配置将起作用。如果后端在 AWS 上并且其状态经常变化,您可以尝试减少连接超时。

<Proxy balancer://awstestbalancer>
BalancerMember https://host:port/context/ connectiontimeout=5
BalancerMember https://host:port/context/ connectiontimeout=5
</Proxy>
ProxyPass /context balancer://awstestbalancer failonstatus=500,501,502,503,504
ProxyPassReverse /context balancer://awstestbalancer

关于Apache 2.2 mod_proxy 故障转移/负载平衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37734944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com