我已經綁定terracotteJobStore和Quartz-Scheduler如何知道哪個節點的作業將在Quartz-Scheduler中用TerracottaJobStore執行?
terracotteJobStore如何確定哪個工作應該接下來執行哪個節點?
哪個算法用於terracotteJobStore中的節點選擇任何想法?
我已經綁定terracotteJobStore和Quartz-Scheduler如何知道哪個節點的作業將在Quartz-Scheduler中用TerracottaJobStore執行?
terracotteJobStore如何確定哪個工作應該接下來執行哪個節點?
哪個算法用於terracotteJobStore中的節點選擇任何想法?
使用OS Terracotta的JobStore,您無法決定在哪個節點上執行作業。並不是說它確實是隨機發生的,但調度器的行爲與非集羣模式相同。所以基本上,每個節點都會按照固定的時間間隔,並基於下一個觸發器觸發何時獲取下一個觸發器。由於集羣中的所有節點的行爲方式相同,所以首先獲取鎖定,也將首先獲取觸發器。
Terracotta EE附帶了Quartz Where功能,可以讓您描述工作應該在哪裏進行。您在Quartz上了解更多信息通過觀看我做的這個簡短的視頻演示:http://www.codespot.net/blog/2011/03/quartz-where-screencast/
希望這會有所幫助。
如果'Quartz Scheduler'與'TerracotteJobStore'一起使用,並且有任何接下來要執行的Job,那麼爲該作業選擇節點將是Random。
使用'Qurtz Where'可以在標準基礎上創建Job。 意思是如果你想創建一個必須運行在覈心至少爲2或者 的節點上的作業,該節點運行在具有70%CPU負載平均值的節點上或者運行在節點上運行的作業在這種情況下,'Quartz Where'是有用的,至少具有Java堆空閒內存330 MB 。
可預測哪個Node,Job僅在「Quartz Where」情況下執行。