![Nginx 负载均衡器和 Tomcat 启动延迟](https://linux22.com/image/637078/Nginx%20%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%99%A8%E5%92%8C%20Tomcat%20%E5%90%AF%E5%8A%A8%E5%BB%B6%E8%BF%9F.png)
我正在使用 nginx(centos 上的免费版本)作为 Tomcat 7 服务器集群的反向代理负载平衡器。除了 tomcat 启动的时间外,它运行良好。
如果 Tomcat 实例关闭,它会正确地故障转移到另一个实例。但如果 Tomcat 正在启动(这可能需要 60 秒),它会将请求发送到 tomcat,但 tomcat 不会响应。因此用户会收到 nginx 错误页面。
上游负载均衡器有什么方法可以确保 tomcat 正在响应?
谢谢
答案1
是的,在大多数适当的负载平衡中,您可以(并且应该)配置比简单的 TCap/IP 连接更高级的检查来确定后端服务器的状态。
创建一个简单的、普通的 jsp servlet,并配置负载枪械器来检索它。没有 tomcat 并且会产生错误代码或失败,但是当 Tomcat 处于活动状态时,应该会返回一个不错的 HTTP 200。