比方說,我們有hazelcast的兩個實例:Hazelcast:合併兩個hazelcast實例
HazelcastInstance firstInstance = Hazelcast.newHazelcastInstance(new Config());
HazelcastInstance secondInstance = Hazelcast.newHazelcastInstance(new Config());
// Add entries to firstInstance
// Add entries to secondInstance
現在我想從firstInstance
刪除一切,然後add everything from
secondInstance to firstInstance
。
有沒有辦法做到這一點?
歐內斯特·您好,感謝詳細的解釋。 我使用'newHazelcastInstance()'初始化spring配置中的firstInstance,另一個使用newHazelcastInstance()。這個想法是獲取更新的數據並將其保存在secondInstace中,而firstInstance正被其他服務使用。一旦secondInstance更新,我想從firstInstace中刪除所有數據並從secondInstance中加載它。 –
但是我從您的評論中瞭解到,這兩個實例都是綁定的,任何實例上的任何數據添加/刪除操作都將在另一個實例上進行鏡像。如果是這種情況,那麼我如何實現這種情況(因爲這兩個實例都來自同一羣集)? –
@Rahul:如果兩個成員都是同一個羣集組的一部分,並且已經發現了對方,那麼hazelcast的複製(除非您已經定製了它)將導致節點保存所有數據的副本,而無需在代碼中手動複製。如果基於spring的成員死亡,那麼第二個節點仍然會有數據。但是,如果您「刪除」映射條目,則會從集羣中刪除數據(之後這兩個成員都不會擁有它)。關鍵是兩個成員屬於同一個羣集並共享複製的數據,在這種情況下,您不需要複製。 –