我们在工作时有几台服务器运行 Apache 2.2 和 Weblogic 实例。我想知道带有 mod_proxy 或 mod_weblogic 的 Apache 是否可以进行后端健康检查并重点关注响应时间?当某些后端的响应时间较长时,Apache 2.2 可以切换到另一个实例吗?
我猜最好的方法是使用 Varnish 或 Apache Traffic Server,但现在我们尝试研究 Apache 2.2。
答案1
mod_proxy_balancer 具有这样的功能,它可以将后端服务器标记为无响应。
此配置使会话“粘”到一台服务器,如果服务器无响应则切换到第二台服务器(但我不确定它是否适用于您的具体情况)。
<Proxy balancer://mybalancer>
Header add Set-Cookie "Node=prefer.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
BalancerMember http://server1/ route=server1
BalancerMember http://server2/ route=server2
</Proxy>
ProxyPass / balancer://mybalancer stickysession=Node nofailover=Off
ProxyPassReverse / http://server1/
ProxyPassReverse / http://server2/