假設我有成員之間使用Hazelcast進行通信的集羣,並且我想提供任務執行服務。某些集羣成員是任務源(針對服務請求進行了優化),而另一些則是任務接收器(針對長時間運行的計算進行了優化)。我如何配置任務源以訪問服務而不允許他們接受和運行任務?任務源如何在不接受任務的情況下訪問Hazelcast ExecutorService?
類似的問題(例如Can a Hazelcast ExecutorService be created to execute on a subset of the cluster?)已經回答了諸如使用executeOnMembers
等建議,但這種方法要求我在ExecutorService外部實現公平的負載平衡和任務分配,這違背了使用服務的目的。
我的理想解決方案是使用pool-size
的0
來配置任務源成員,但這是驗證器拒絕的無效配置。
https://github.com/hazelcast/hazelcast /問題/ 532似乎正是我想要的,但它是一個開放的問題 –
@Stephan我不認爲他們是直接相關的。機票更多地是影響數據分配。您可以使用lite成員設置關閉成員的存儲,並使用MemberSelector選擇lite成員來執行(請參閱下面的完整答案:-)) – noctarius