有什么方法可以将密钥分配给LocalMember Instance拥有的分区。 我们正在运行嵌入式模式的Hazelcast。 每个节点都需要数据局部性和邻近性。一种方法是确保PartitionAwareStrategy可以帮助指向localMember分区,并且可以将键分配给本地Member分区。下面是一些代码来举例说明。
PartitionService ps= instance.getPartitionService();
Member m = instance.getCluster().getLocalMember();
List<Integer> pls = new ArrayList<Integer>();
for(Partition p : ps.getPartitions()) {
Member pm = p.getOwner();
//Local Member Partitions
if(m.getUuid().equals(pm.getUuid())) {
pls.add(p.getPartitionId());
}
}
//Need Logic Here.Keys need to be Partition Aware but how do we inject Local Member partitions
allotKeys(pls);
答案 0 :(得分:0)
分区由Hazelcast管理,并随着集群的更改在成员之间移动。
即使将数据放置在本地成员当前所在的分区中,也可以将其移动到其他位置。
如果您需要本地性,更新率较低,并且可以容忍最终的一致性,为什么不签出Near Cache呢?这是其他地方的数据的本地子集副本。