我已经通过Quartz文档看了,我似乎无法找到问题的明确答案:如果我在集群环境中使用Quartz Scheduler但机器脱离同步会发生什么(我们会使用JobStoreTX)? Quartz会关闭多个工作吗?它只会通过锁定数据库行条目来触发一个条目?石英调度程序集群时间同步
3
A
回答
1
不幸的是,我不认为这是记录,但我相信结果不是那么具有破坏性和错误。
集群轮询每个Quartz调度实例的数据库每隔几秒钟试图寻找新的就业机会开火(我认为在默认情况下它会搜索与now - 30
和now + 60
秒之间下次预定时间的所有作业 - 但这是无关紧要的,取决于在配置上)。此操作在群集中显然是安全的,因为很可能多个实例同时轮询新作业。
如果服务器时间在群集中不同步,假定其中一台服务器将来有时钟。这台服务器认为它比实际时间晚,所以它太早提取和启动作业 - 或者至少比所有其他作业早。这意味着单个服务器将运行更多(如果不是全部)作业,从群集的其余部分窃取工作。这不是不安全本身,但会造成不对称的群集负载。
我在考虑提出一个问题,提出在所有服务器中使用数据库时间以避免这些问题。然而,ntp的流行以及使用外部时间源的复杂性使其成为一个糟糕的主意。
相关问题
- 1. 石英集群调度THREADCOUNT
- 2. 石英调度程序
- 3. 石英调度程序theadpool
- 4. 如何调整石英调度程序的时间?
- 5. 石英集群:所有节点上都可见的调度程序动作
- 6. 石英网调度程序 - 时间表作业
- 7. 排除特定时间范围的石英调度程序
- 8. 石英调度程序丢失作业
- 9. 石英调度程序-HELP需要
- 10. 带配置调度程序的石英
- 11. 关机石英调度程序
- 12. 石英调度程序实例为空
- 13. 石英调度程序 - Cron未运行
- 14. 石英调度程序vs设置cron
- 15. python企业调度程序(如石英)
- 16. 石英调度程序作业迁移
- 17. 石英:调度程序已关闭
- 18. 春季集成+ cron +石英集群?
- 19. 春石英调度
- 20. 当石英调度程序启动时需要触发作业
- 21. 在集群环境中使用石英
- 22. 集群作业调度程序:工具
- 23. 石英调度程序需要两天时间来识别失火作业
- 24. Java石英调度程序:将unix cron格式转换为石英cron格式
- 25. 弹簧4石英调度
- 26. 石英调度:使用DailyCalendar
- 27. Kendoui调度程序不同的时间
- 28. 石英作业调度程序如何在正确的顺序
- 29. 同步Ambari群集配置
- 30. 石英调度程序,无限次尝试连接数据库