如果节点出现故障,如何计算hazelcast中数据重新平衡所需的时间?

时间:2015-02-20 10:59:31

标签: hazelcast

我想弄清楚,如果节点出现故障,hazelcast需要多长时间才能重新平衡(重新分区)数据。具有不同的备份计数。

有没有办法解决这个问题。 我尝试使用迁移侦听器,但在节点退出的情况下不会通知它。只有在添加节点的情况下才会发生回调。我已尝试使用三个节点,以排除从备份中回收的数据,从而无法迁移。

我尝试的另一种方法是使用" isClusterSafe" API。因此,当一个成员收到节点退出通知(使用MembershipListener)时,我会测量直到" isClusterSafe" API返回true。

还有其他方法可以解决这个问题吗?我的第二种方法会给出准确的价值吗?

1 个答案:

答案 0 :(得分:0)

你应该看看MigrationListener(不要与PartitionListener混淆)。似乎这有一个钩子,可以知道分区的迁移何时开始并完成。您可以计算每个分区ID所用的时间。

然后我会将其与MembershipListener结合使用,以便您可以找出由于节点故障而导致分区迁移到另一个节点的时间(而不仅仅是某种预定的重新平衡)。 p>