2017-02-04 89 views
0

有以嵌入模式hazelcast的2個節點(N1和N2)。還有一個IMap用戶與1同步備份,其他設置是默認的。作爲在N1我想獲得的數據(users.get),它們在N2是,但不幸的是,當我這樣做,N2下降。或者N2比N1會打電話要早1-2秒。hazelcast什麼用IMAP發生了,當服務器崩潰

  1. 我作爲方法users.get的結果得到了什麼?
  2. 在這種情況下是否會將N2排除在簇之外?
  3. 如果N2在30秒內變得正常會發生什麼?
  4. 你能解釋一下這個算法嗎?

回答

0

我得到的方法users.get的結果是什麼?

你應該得到的匹配值。數據不應該丟失。

爲N2會從羣集中在這種情況下排除?

即使N2由於崩潰或其他原因而丟失,您可以訪問所有數據。在這種情況下,N2將不在集羣中。

如果N2在30秒內變爲正常會發生什麼?

N1將檢測N2和它們將形成一個集羣。

你能解釋一下這個算法嗎?

您可以閱讀關於clusteringre-partitioning的機制。

+0

感謝您的回答。 但我不明白數據將從哪裏得到?讓我們想象一下,用戶向N1發出請求以從N2,N2那裏獲取數據在幾秒鐘內不起作用,並且將在3秒內開始工作,用戶從那裏獲取數據?是不是需要重新劃分N1的備份副本,或者首先hazelcast會明白N2不會嘗試從N2獲取數據,並且會讓用戶在重新聚合和移動數據時等待從備份到基本內存然後將從它返回數據? – slippery

+0

它將等待重新分區,但不一定會遷移。只讀操作可以在遷移期間返回響應。 – mrck