我想设计一个作业调度程序集群,其中包含多个主机来执行cron作业调度。例如,需要run every 5 minutes的作业被提交到集群,集群应该指出下一次运行哪个主机,确保:
由于容灾能力,作业不能绑定到特定的主机。一种方法是所有主机轮询DB表(当然是带锁的),这保证只有一个主机才能运行下一个作业。因为它经常锁桌子,有更好的设计吗?
发布于 2014-11-12 15:22:44
为此使用石英骨架。它具有类似cron的语法,可以集群化,并且集群中只有一个主机一次只完成一项工作。如果主机或作业失败,另一个主机将重试挂起的作业。
发布于 2017-11-08 13:31:10
我搜索出了Dkron (分布式作业调度系统)。它有rest,看起来很好。我计划尝试使用它,Dkron站点
发布于 2018-09-08 21:09:23
我不知道如何设计,但是有一些开源产品可以作为一个例子。一个是上面提到的石英调度器。
但是,显然,WallmartLabs对Quartz进行了评估,发现它不够好,因此创建并开源了一个更好的(在他们看来)替代它的方法-- BigBen。也许你也可以看看那个。
https://stackoverflow.com/questions/26890312
复制相似问题