Discuss / Java / 如果不使用Quartz的JDBC配置,多个Spring应用同时运行时,如何保证某个任务只在某一台机器执行

如果不使用Quartz的JDBC配置,多个Spring应用同时运行时,如何保证某个任务只在某一台机器执行

Topic source

这是分布式服务的协同问题了,zookeeper就是一个协调者,不过对于廖老师提的这个问题要数据持久化,那zookeeper存储的数据量有限,可能不合适。可以使用数据库,把每个任务的执行情况记录下,多台JVM执行同一个定时任务时,并发在DB中创建一个记录,使用唯一键保证只有一个创建成功。Quartz好像也是类似的实现机制吧


  • 1

Reply