自定义控制分区

Custom controlled partitioning

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

案例场景与我最近.

相同

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

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

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

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

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

Hazelcast 中的集群不是 fixed-size 实体;它是动态可伸缩的,因此可以添加或删除成员,而且它是 fault-tolerant,因此即使丢失一个成员也不会丢失恰好在该成员上的数据。为了支持这些功能,集群必须能够随着集群拓扑的变化将分区移动到不同的机器上。

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

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