我有一个大约5台服务器的车队。我想在每台机器上运行相同的Spring / Tomcat应用程序。
我还需要每十分钟执行一次特定任务。它应该只在其中一台机器上运行。我需要某种选举协议或其他类似的解决方案。
Spring或Quartz是否有任何内置的分布式cron解决方案,或者我是否需要自己实现?
答案 0 :(得分:10)
请参阅Quartz的Clustering Configuration文档。
答案 1 :(得分:2)
Hazelcast有一个分布式执行程序框架,您可以使用它来使用JDK Executor框架运行作业(顺便说一句,它可能比可怕的Quartz更可测试...也许)。它有多种操作模式,包括让它“随机”选择一个节点来执行你的工作。
有关详细信息,请参阅the documentation