2013-09-26 71 views
2

當某些節點突然死亡時,榛木內存內映射丟失了數據。例如,在3節點集羣中,我們有一個共享映射,考慮到映射有3個條目(A,B,C),默認備份= 1,那麼這3個條目將平均分配給節點,例如它可能是:當某些節點突然死亡時,榛色內存映射丟失數據

Entry A: node 1, node 2 
Entry B: node 2, node 3 
Entry C: node 1, node 3. 

當2,3兩個節點在同一時間突然去世前的節點1可以完成重新分區,然後將入口B永遠失去了。

任何想法來解決這個問題:

  1. 我們試圖從1更改地圖的備份次數爲3次,它的工作對上述3個節點的情況下,但問題仍然可以在較大的數字集羣存在有些情況。
  2. 有沒有辦法在每個節點上強制執行映射備份,例如,將備份計數設置爲節點編號?
  3. 我們不會將數據持久存儲。
+1

如果超過''節點在短時間內失效,那麼您就會被搞砸 - 您需要:給他們時間來重新平衡,增加備份計數或使用可以從永久存儲重新創建的數據。 – vikingsteve

回答

2

在Hazelcast 3中,您可以配置同步和異步備份的數量。

但是,如果你想要有高可用性,你需要添加更多的機器;您添加的越多,可用性就越高。

我們有功能卸載到數據庫,例如使用MapStore和MapLoader界面。我們沒有(還)開箱即用的磁盤。

相關問題