我成功配置了Apache Httpd Server(Apache 2)和Tomcat(Tomcat 7)以进行群集和会话复制。 我通过以下2个方案检查了这个。 1.所有tomcat实例都在同一台机器上 2. Tomcat实例分布在各台机器上。
对于第一种情况,一切正常,但对于第二种情况,我遇到了一些问题。我需要帮助。 假设我在我的机器上安装了Apache Httpd服务器和tomcat(TomcatA),在另一台机器上安装了第二个tomcat(TomcatB)。 除了这种情况,群集和会话复制工作正常。 1.启动Apache Httpd Server。 2.启动TOmcatA。 3.启动TOmcatB。 让我们假设第一个请求是由TomcatA处理的(我只有1个活动会话),而该会话的所有其他请求都由TomcatA处理。现在,如果我关闭TomcatA,那么该会话的所有其他下一个请求将被转发到TomcatB,并且即时处理下一个请求。现在,如果我启动TomcatA(我确保TomcatA正确启动),那么所有请求仍然由TomcatB进行处理。如果现在我关闭了TomcatB,那么我将获得下一个请求的“Service Temporarily Unavailable”页面,大约60秒后,TomcatA会顺利处理下一个请求。
为什么我必须等待60秒,因为TomcatA已经启动,是否有任何配置设置可以缩短时间。
方案1没有发生这种情况(所有tomcat实例都在同一台机器上)。无论是否在群集中添加或删除tomcat实例,都会平滑且立即处理所有请求。