分布式环境中的弹簧石英/ cron作业

Bra*_*ugh 9 spring quartz-scheduler

我有一个大约5台服务器的车队.我想在每台机器上运行相同的Spring/Tomcat应用程序.

我还需要每十分钟执行一次特定任务.它应该只在其中一台机器上运行.我需要某种选举协议或其他类似的解决方案.

Spring或Quartz是否有任何内置的分布式cron解决方案,或者我是否需要自己实现?

sou*_*ica 10

请参阅Quartz 的Clustering Configuration文档.


dty*_*dty 2

Hazelcast 有一个分布式执行器框架,您可以使用它来使用 JDK Executor 框架运行作业(顺便说一句,它可能比可怕的 Quartz 更容易测试......也许)。它有多种操作模式,包括让它“随机”选择一个节点来执行您的作业。

请参阅文档了解更多详细信息