自定义控制的分区



我最近发布了问题,并收到了完整的答案。但我遇到了另一个问题。

案例场景与我最近的问题相同。

如何将成员配置为拥有分区键?

例如DataCenterOnRussia分区键必须始终由member1拥有DataCenterOnGermany分区键必须始终由member2拥有。

因此,member2可以使用PartitionAwareKeyDataCenterOnRussia请求数据。

PartitionAwareKey 的目的是允许数据亲和力......例如,客户的订单应存储在与客户记录相同的分区中,因为它们经常一起访问。

PartitionAwareKey 允许将项目分组在一起,但不能指定这些项目在特定集群成员上的位置。 (我想如果有这样的东西,它可能会被称为MemberAwareKey)。

Hazelcast 中的集群不是一个固定大小的实体;它是动态可扩展的,因此可以添加或删除成员,并且它是容错的,因此成员可能会丢失而不会丢失碰巧位于该成员上的数据。 为了支持这些功能,群集必须能够随着群集拓扑的更改而自由地将分区移动到不同的计算机。

Hazelcast 建议集群的所有成员都进行类似的配置(尤其是等效的内存配置),因为集群成员是可互换的,至少在数据存储方面是这样。 (MemberSelector 工具确实提供了处理具有不同处理能力的系统的规定,例如处理器内核的数量;但没有类似的出口允许在指定成员上放置特定的数据条目或分区)。

如果您的用例需要在计算机上进行特定放置,则表明这些计算机可能不应属于同一集群。

最新更新