【发布时间】:2020-10-11 00:11:01
【问题描述】:
您好,我有每小时运行一次的 Java 调度程序,我有 16 个服务器实例,这将部署在所有 16 个服务器实例中。 我如何确保这些调度程序任务不会相互冲突。我们不想引入 Spring 批处理。
【问题讨论】:
您好,我有每小时运行一次的 Java 调度程序,我有 16 个服务器实例,这将部署在所有 16 个服务器实例中。 我如何确保这些调度程序任务不会相互冲突。我们不想引入 Spring 批处理。
【问题讨论】:
其实有一些办法。
你可以使用分布式锁(例如:hazelcast的分布式锁)。
您可以在数据库中使用悲观锁。(为每个请求锁定表并将状态设置为 IN_PROGRESS)
使用quartz进行调度。(需要Db持久化)
【讨论】: