如何始终将数据发送到localMember实例

时间:2019-11-09 07:47:32

标签: hazelcast hazelcast-imap

有什么方法可以将密钥分配给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);  

1 个答案:

答案 0 :(得分:0)

分区由Hazelcast管理,并随着集群的更改在成员之间移动。

即使将数据放置在本地成员当前所在的分区中,也可以将其移动到其他位置。

如果您需要本地性,更新率较低,并且可以容忍最终的一致性,为什么不签出Near Cache呢?这是其他地方的数据的本地子集副本。