首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quartz - Spring批量多集群问题

Quartz - Spring批量多集群问题
EN

Stack Overflow用户
提问于 2016-03-19 01:36:13
回答 1查看 444关注 0票数 0

我在负载均衡器后面有两个活动的服务器。假设负载均衡器是A,节点是A1和A2。

现在,A1和A2有了quartz调度器,A1和A2有了spring batch job实例。

假设在下午1:00,一个作业应该被踢开,并在A1或A2上运行。

但有时发生的情况是,A1和A2都启动了作业,但不知何故,它们运行了两次。它可以在不同的节点上运行,也可以在同一个节点上运行。

问题是,在这两个级别,quartz以某种方式踢开了同一作业的两个实例,而spring batch也以某种方式运行了这两个实例。

欢迎任何关于解决问题的建议或来自行业的最佳实践。

EN

回答 1

Stack Overflow用户

发布于 2016-03-19 23:21:22

您只需检查服务器A1和A2的时钟。

正如在Quartz guide中明确指出的,

从不在单独的机器上运行集群,除非它们的时钟是使用某种形式的时间同步服务(守护进程)进行同步的,该服务非常定期地运行(时钟之间必须在一秒之内)。如果您不熟悉如何执行此操作,请参阅http://www.boulder.nist.gov/timefreq/service/its.htm

无论如何,在不同的机器上运行多个实例是一件有风险的事情。在并行运行A1的情况下,最好使用A2作为它的故障转移集群。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36090849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档