我正在开发一个在集群模式下使用 Quartz 的系统,我们目前在集群中有 18 台服务器。我们面临的问题是,有些作业会执行两次,而很少有些作业会“卡”在 ACQUIRED 状态或其他奇怪的问题。
我读到文档说:
调度程序使用集群范围的锁,这种模式会随着您添加更多节点而降低性能(当超过大约三个节点时- 取决于您的数据库的功能等)。
我们有很多这样的警告:
[WARN ossqLocalDataSourceJobStore - 此调度程序实例 (xxx) 仍处于活动状态,但已被集群中的另一个实例恢复。这可能会导致不一致的行为。
我们已经同步了集群中所有机器上的时钟。
我的问题是:
- 其他人是否拥有大量 Quartz 实例并遇到类似问题?
- Quartz 真的限制为每个集群最多 3-4 台机器吗?
- 有什么解决方法吗?