我已将 terracotteJobStore 与 Quartz-Scheduler 绑定
terracotteJobStore 如何确定下一个作业应该为哪个节点执行?
哪个算法用于 terracotteJobStore 中的节点选择有什么想法吗?
我已将 terracotteJobStore 与 Quartz-Scheduler 绑定
terracotteJobStore 如何确定下一个作业应该为哪个节点执行?
哪个算法用于 terracotteJobStore 中的节点选择有什么想法吗?
如果“Quartz Scheduler”与“TerracotteJobStore”一起使用,并且接下来有任何作业要执行,那么该作业的节点选择将是随机的。
使用“Qurtz Where”可以根据标准制作 Job。意味着如果你想制作一个必须在具有至少 2 个核心的节点上运行的作业,或者制作一个在平均 CPU 负载为 70% 的节点上运行的作业,或者制作一个在具有 70% CPU 负载的节点上运行的作业在这种情况下,“Quartz Where”至少有 330 MB 的 Java 堆空闲内存很有用。
只有在“Quartz Where”的情况下,才能预测 Job 将在哪个 Node 上执行。
使用 OS Terracotta 的 JobStore,您无需决定作业将在哪个节点上执行。并不是说它真的是随机发生的,而是调度程序在非集群模式下的行为。所以基本上,每个节点都会以固定的时间间隔,并根据下一个触发器触发何时获取下一个触发器。由于集群中所有节点的行为方式相同,所以最先获得锁的节点也将能够先获得触发器。
Terracotta EE 带有 Quartz Where 功能,可以让您描述应该在哪里解雇工作。您可以通过观看这个简短的截屏视频了解更多关于 Quartz Where 的信息:http: //www.codespot.net/blog/2011/03/quartz-where-screencast/
希望这会有所帮助。