我们有四台 Apache 服务器充当 8 台应用服务器的代理服务器(为了便于讨论,我们使用的是 Tomcat 服务器)。我们使用 Apache 将请求代理/转发到应用服务器。应用服务器在 Apache 服务器上添加为“平衡成员”。我的问题是...如果其中一台应用服务器发生故障,唯一的方法是将该应用服务器从轮换中移除,以从 Apache 服务器上的“平衡成员”列表中删除该节点吗?有没有比手动编辑 httpd.conf 文件更简单的方法?有没有办法从 Apache 代理列表中删除应用服务器节点?
答案1
从术语“平衡成员”中,我猜您正在使用 mod_proxy 与 mod_proxy_http 或 mod_proxy_ajp。
如果是这样,您可以设法关闭任何“tomcat”而无需其他干预,并且当 apache 找到该特定实例时,如果它已配置为如此,它会将请求推送到另一个“tomcat”实例而用户不会注意到它。
假设该特定 tomcat 实例端口已关闭(RST 数据包)。
您也可以使用 Web 界面来启用/禁用平衡成员,请检查:
https://httpd.apache.org/docs/2.4/mod/mod_proxy_balancer.html#balancer_manager