Hazelcast - 新的群集成员合并时,是新的成员操作



当新成员加入群集时,将会发生表格重新分配和数据合并。

如果数据很大,我相信这将需要一些时间。发生这种情况时,缓存的状态如何?

如果我使用的是嵌入式模式,它是否会阻止我的应用程序直到合并完成?或者,如果我不想使用不完整的缓存,我需要等待(以某种方式(开始我的应用程序操作?

分区迁移将在成员加入集群后立即开始。它不会阻止您的应用程序,因为它会在后台进行异步。

只有将落入迁移分区的突变操作被阻塞。仅阅读操作没有阻止。

突变操作将获得PartitionMigrationException,即RetryableHazelcastException,因此将其默认为2分钟。如果您的分区尺寸很小,则分区的迁移将持续更短。您可以通过系统属性hazelcast.partition.count增加分区计数。

如果要阻止应用程序直到所有迁移完成,则可以检查isclustersafe方法,以确保集群中没有迁移分区。但是要当心ISCLUSTERSAFE会返回集群的状态,而不是当前成员的状态,因此可能不依赖它。相反,我建议在分区迁移时不要阻止应用程序。

最新更新