Hazelcast分区的所有者和副本?这个分区包含哪些键?

时间:2014-07-20 03:21:01

标签: key hazelcast partition

我有一张Hazelcast地图。

我可以轻松获得partitionService。

  

PartitionService partitionService = Hazelcast.getPartitionService();

     

Partition partition = partitionService.getPartition(key);

     

成员ownerMember = partition.getOwner();

问题:

1)给定一个分区,我可以得到哪个节点是该分区的所有者。是否有任何API可以确定哪些节点是分区的备份节点?

2)如您所知,地图中的值基于其键分配给分区。很容易确定密钥属于哪个分区。我想知道的是:给一个分区它包含哪些键。换句话说,如果我丢失了一些分区,我可以找出丢失的密钥吗?

1 个答案:

答案 0 :(得分:2)

1)我认为唯一的方法是通过InternalPartitionService。

public InternalPartitionImpl getPartition(int partitionId)

在InternalPartitionImpl中,您也可以访问备份。

2)这是一个困难的问题。通常存在备份(取决于配置),因此在适当的情况下,数据丢失的可能性应该很小。只有当您同时松开主数据库和备份数据库时,才会出现数据丢失。