考虑有一组有限的任务需要在特定时间内完成(这些任务在该时间段内均匀分布),并且需要重复执行。
对于一个本地工作者/线程,我们只需像这样做(对于伪代码表示抱歉):
现在我想以分布式方式完成这个任务,使用多个独立的工作者。
是否有已知的最佳实践解决方案(最好来自Java世界)?循环消息队列?任务的分布式锁?我已经搜索了很多,但是似乎没有优雅的开箱即用的解决方案。
对于一个本地工作者/线程,我们只需像这样做(对于伪代码表示抱歉):
long interval = period / tasks.size
while (true) {
for (task in tasks) {
task.do()
sleep(interval)
}
}
现在我想以分布式方式完成这个任务,使用多个独立的工作者。
是否有已知的最佳实践解决方案(最好来自Java世界)?循环消息队列?任务的分布式锁?我已经搜索了很多,但是似乎没有优雅的开箱即用的解决方案。