2017-02-04 85 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