gpt4 book ai didi

Tomcat 在 AWS ELB 上重启

转载 作者:行者123 更新时间:2023-11-28 22:38:49 26 4
gpt4 key购买 nike

人们如何防止 Tomcat 在 Amazon Web Services 弹性负载均衡器后面重新启动时尝试为流量提供服务?

一旦部署了新软件,我们的应用程序最多需要 40 秒才能重新启动。对于 ELB 来说,这个窗口太小而无法注意到,因此它们的 Tomcat 实例在等待其 web 应用程序初始化时不断收到转发的请求,导致用户收到 500 个错误页面。

有解决这个问题的通用方法吗?

最佳答案

Franck 是对的,你应该使用健康检查机制。但是,运行该运行状况检查的最频繁频率是每 6 秒一次。如果您的应用同时重启或重新部署,会发生这种情况吗?不幸的是,ELB 不知道这一点,并一直向该实例发送流量。因此,在最坏的情况下,在(大约)6 秒内,由该实例提供服务的网站访问者将收到错误消息或跟踪转储。

我已经联系了亚马逊,要求他们为在 ELB 中注册的每个实例提供一个暂停按钮,这样我们就可以告诉 ELB 停止向该实例发送请求。那里有人喜欢这个想法,并 promise 将其上报给开发人员。至少这将是一种避免在未准备好时收到请求的简单方法。

一个与 ELB 没有直接关系但与 Tomcat 相关的建议:Tomcat 现在可以上传带有版本的 WAR。您可以上传一个“root##2012-04-30.war”文件(例如),而不是上传“root.war”文件,Tomcat 将部署同一 WAR 的新版本。新版本不会中断正在响应请求的当前版本,一旦新版本准备就绪,它将开始占用流量而不是旧版本。这样,您的实例永远不会停止响应请求,因此 ELB 不需要停止向那里发送请求。

关于Tomcat 在 AWS ELB 上重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6690028/

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