有一套JAVA的WEB系统,前端用nginx代理2个Tomcat(tomcat版本为5.5,64位),2个tomcat之间做了集群处理,运行的实际效果是2个tomcat之间的会话也确实同步了。由于业务需求的调整,tomcat上经常需要重新部署新的class及相关的一些xml配置文件,文件部署完成后,我们手工依次重启tomcat,由于在nginx上的负载策略我们采用默认轮询的方式,这时会出这样的现象,第一台tomcat重启第二台tomcat保持运行的过程中,客户端访问系统的时候,第一次访问页面的时候正常,第二次访问页面的时候,一直在等待,出现这样的情况,想想nginx的负载策略,也属正常情况(nginx轮询代理了)。
我的问题是:nginx有没有一种机制,在第一台tomcat重启前,提前发起一个通知,通知tomcat1即将要重启,让tomcat2暂时接管所有的请求,tomcat1重启成功后,在恢复负载。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。