在Hazelcast中更改实时IMap的分区键(分区迁移)

问题描述 投票:0回答:1

我想更改我的一张地图在Hazelcast中的分区方式。如果我开始使用其他分区策略将节点替换为新节点,Hazelcast可以为现有的分布式地图安全地处理此问题吗?

说我的地图中有按CustomerId划分的客户,但是我想开始使用PartitionAwareKey对他们进行分区,该分区将密钥保留为CustomerId,但将PartitionKey更改为客户的邮政编码。

使用PartitionAwareKey很容易,但是我看不到任何有关如何迁移现有分布式地图的文档。

似乎这会简单地将新项目添加到地图,因为PartitionAwareKey在equals方法中同时使用key和partitionKey。

如果我在不使用equals / hashcode实现的一部分的情况下使用partitionKey进行了自己的ParitionAware操作,我将能够实时替换项目的分区方式而又不会导致地图访问的不一致?

谢谢!

hazelcast
1个回答
0
投票

似乎文档中存在一些异常,在这里让我尝试提供一些清晰度-集群中的所有节点都必须具有相同的分区策略和所有相关的配置。换句话说,某些节点不能以与其他节点不同的分区策略运行。

因此,要注入新策略,您需要使用新设置重新启动整个集群。但是,由于似乎不需要重启集群,因此您可以尝试通过User Code Deployment将新配置注入集群,然后查看是否可行。

注意:我个人还没有尝试通过用户代码部署来更改分区策略,因此,看到您发现的内容会很有趣。

© www.soinside.com 2019 - 2024. All rights reserved.