gpt4 book ai didi

java - spring boot scheduler 服务的负载均衡

转载 作者:行者123 更新时间:2023-12-05 06:56:50 25 4
gpt4 key购买 nike

我使用 @Enablescheduler 和 @scheduler(cron=) 创建了一个 java spring boot 调度程序服务,并且需要在集群上运行它。有人可以帮助我如何创建集群负载平衡应用程序。

最佳答案

您实际上需要确保一旦计划任务在一个节点上启动,集群中的其他节点被阻止执行相同的任务。

您可以为此目的使用 Shedlock。您需要创建名为 shedlock 的数据库表,它应该包含属性:name、lock_at、lock_until、locked_by(node)。

然后像这样创建一个定时任务:

@Scheduled(chron="..")
@SchedulerLock(name="..", lockAtLeast="..")
public void scheduledTask() {
LockAssert.assertLocked();
//do something
}

有关更多文档,请尝试 Shedlock

关于java - spring boot scheduler 服务的负载均衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65034795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com