Tomcat群集仅配置为负载均衡器。没有会话复制。因此,如果运行用户会话的Tomcat节点在此情况下死亡,则会话将丢失。
我们需要定期在该群集上运行服务。显然它不能在两台服务器上运行,但同时必须确保它必须在一定时间间隔后至少在一台服务器上运行。
在这种情况下,什么是优雅的解决方案?
答案 0 :(得分:0)
使用Quartz支持clustering。您只需在应用程序中定义集群属性,并创建一些表以将作业配置存储在数据库中。
当集群中的某个节点启动时,它将调用数据库,使其恢复活跃状态。
当必须定期或异常执行作业时,群集中只有一个节点将开始执行作业。如果作业失败或节点崩溃,则可以重新启动。