You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot + Docker环境下Quartz集群模式任务无法故障转移至其他节点的问题排查求助

Spring Boot + Docker环境下Quartz集群模式任务无法故障转移至其他节点的问题排查求助

大家好,我目前碰到了一个Quartz集群故障转移的棘手问题,想请教下社区的各位:

我有一个Spring Boot应用,部署了两个Docker实例,使用Quartz的集群模式,共享同一个MySQL数据库。但现在遇到的问题是,当我关闭其中一个实例时,任务和请求并没有像预期那样切换到另一个节点上。

我的Quartz配置(application.yml)

quartz:
  job-store-type: jdbc
  scheduler-name: scheduler
  jdbc:
    initialize-schema: never  
  properties:
    org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX
    org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
    org.quartz.jobStore.dataSource: dataSource
    org.quartz.jobStore.tablePrefix: QRTZ_
    org.quartz.jobStore.isClustered: true
    org.quartz.jobStore.useProperties: true
    org.quartz.jobStore.clusterCheckinInterval: 2000
    org.quartz.scheduler.instanceId: AUTO
    org.quartz.scheduler.instanceName: MyScheduler
    org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
    org.quartz.threadPool.threadCount: 2
    org.quartz.threadPool.threadPriority: 5
    org.quartz.scheduler.wrapJobExecutionInUserTransaction: false
    org.quartz.dataSource.dataSource.driver: com.mysql.cj.jdbc.Driver
    org.quartz.dataSource.dataSource.URL: jdbc:mysql://localhost:3306/replica_db
    org.quartz.dataSource.dataSource.user: root
    org.quartz.dataSource.dataSource.password: admin
    org.quartz.jobStore.misfireThreshold: 20000  

问题现象

我原本预期的是,当其中一个实例关闭后,正在运行的任务会自动转移到另一个节点继续执行。但实际情况是,关掉实例后,任务直接停止运行了,并没有故障转移到另一个节点。

已经确认数据库里的QRTZ_系列表都正确创建了,而且日志里也没有出现和Quartz集群相关的错误信息。

我已经尝试过的操作

  • 检查数据库锁:发现任务好像卡在数据库里,但另一个节点并没有去拾取这些任务
  • 配置了misfireThreshold: 20000,但故障转移时任务并没有被重试
  • 确认了Cluster Check-in Interval设置为2000ms,按道理集群应该能快速检测到节点故障
  • 验证了两个实例的instanceName是相同的

想请教的问题

  1. 为什么Quartz没有把任务故障转移到另一个实例上?
  2. 如何确保当一个实例宕机时,任务能在剩下的活跃节点上继续执行?
  3. 在Docker化的Spring Boot环境中,是否还需要额外配置Quartz的某些参数才能实现正确的故障转移?

备注:内容来源于stack exchange,提问作者Karim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 09:54:31