Windows / Tomcat 6上的WAR归档的部署例程没有停机?

我们有一个运行在Tomcat 6上的Web应用程序(在WS2K3上),每周更新一次。 目前,我们有一个非常简单的批处理脚本,每天晚上检查服务器上的一个文件夹的内容,如果存在一个war文件,它将closuresTomcat服务,删除旧的应用程序目录和war文件,并且将一个新的war文件放入在那里,并再次上线服务。

尽pipe这种方法可行,而且我们正在经历不到5分钟的停机时间,但不断增长的业务需求使我们寻找另一种解决scheme。

我能想到的最佳解决scheme是将负载平衡器/代理放在Web服务器前,添加另一台Web服务器用于分级和负载平衡,在部署过程中禁用负载均衡器configuration中的其中一台主机,然后部署,然后redirectstream量到新版本的networking服务器等等。

问题:如果有人能够在解决scheme方面向我指出正确的方向,那么我还没有这些解决scheme的经验,而且对这些主题很less,(甚至是实现接近零停机时间和灵活部署的好方法吗?)或软件名称(免费是最好的,但专有也很好),将不胜感激。

首先,您可以使用标准Tomcatpipe理器应用程序从WAR中重新部署应用程序,而不必停止Tomcat本身。 停机时间只是部署该单一应用程序所需的。

但是,对于接近零的停机时间,您确实需要一个负载均衡器和多个Tomcat服务器。 具有mod_proxy / mod_proxy_balancer或mod_jk的Apache HTTP服务器是一个很好的免费解决scheme。 但是,您可以select如何处理会话,您可以在从一台服务器切换到另一台服务器时将其丢失,或者在服务器之间进行复制(这很容易configuration)。 集群和负载平衡的大部分复杂性围绕会话处理进行。