具有负载平衡的Tomcat 7群集仅需要在一个节点上运行服务

时间:2014-05-19 02:20:38

标签: tomcat tomcat7 scheduled-tasks load-balancing scheduler

Tomcat群集仅配置为负载均衡器。没有会话复制。因此,如果运行用户会话的Tomcat节点在此情况下死亡,则会话将丢失。

我们需要定期在该群集上运行服务。显然它不能在两台服务器上运行,但同时必须确保它必须在一定时间间隔后至少在一台服务器上运行。

在这种情况下,什么是优雅的解决方案?

1 个答案:

答案 0 :(得分:0)

使用Quartz支持clustering。您只需在应用程序中定义集群属性,并创建一些表以将作业配置存储在数据库中。

当集群中的某个节点启动时,它将调用数据库,使其恢复活跃状态。

当必须定期或异常执行作业时,群集中只有一个节点将开始执行作业。如果作业失败或节点崩溃,则可以重新启动。