我想弄清楚,如果节点出现故障,hazelcast需要多长时间才能重新平衡(重新分区)数据。具有不同的备份计数。
有没有办法解决这个问题。 我尝试使用迁移侦听器,但在节点退出的情况下不会通知它。只有在添加节点的情况下才会发生回调。我已尝试使用三个节点,以排除从备份中回收的数据,从而无法迁移。
我尝试的另一种方法是使用" isClusterSafe" API。因此,当一个成员收到节点退出通知(使用MembershipListener)时,我会测量直到" isClusterSafe" API返回true。
还有其他方法可以解决这个问题吗?我的第二种方法会给出准确的价值吗?
答案 0 :(得分:0)
你应该看看MigrationListener(不要与PartitionListener混淆)。似乎这有一个钩子,可以知道分区的迁移何时开始并完成。您可以计算每个分区ID所用的时间。
然后我会将其与MembershipListener结合使用,以便您可以找出由于节点故障而导致分区迁移到另一个节点的时间(而不仅仅是某种预定的重新平衡)。 p>