自定义控制分区
Custom controlled partitioning
我最近发布了 并收到了完整的答复。但是我遇到了另一个问题。
案例场景与我最近.
相同
如何配置成员拥有分区键?
例如DataCenterOnRussia
分区键必须始终由 member1
拥有,DataCenterOnGermany
分区键必须始终由 member2
拥有。
因此 member2
可以使用 PartitionAwareKey
从 DataCenterOnRussia
请求数据。
PartitionAwareKey 的目的是允许数据关联...客户的订单应存储在与客户记录相同的分区中,例如,因为它们经常一起访问。
PartitionAwareKey 允许将项目分组在一起,但不是指定这些项目在特定集群成员上的位置的方法。 (我想如果有这样的东西,它很可能被称为 MemberAwareKey)。
Hazelcast 中的集群不是 fixed-size 实体;它是动态可伸缩的,因此可以添加或删除成员,而且它是 fault-tolerant,因此即使丢失一个成员也不会丢失恰好在该成员上的数据。为了支持这些功能,集群必须能够随着集群拓扑的变化将分区移动到不同的机器上。
Hazelcast 建议对集群的所有成员进行类似的配置(尤其是等效的内存配置),因为集群成员是可以互换的,至少在数据存储方面是这样。 (MemberSelector 设施确实提供了处理具有不同处理能力的系统的规定,例如,处理器内核数量;但没有类似的出口允许在指定成员上放置特定数据条目或分区)。
如果您的用例需要在机器上进行特定放置,则表明这些机器可能不应属于同一集群。
我最近发布了
案例场景与我最近
如何配置成员拥有分区键?
例如DataCenterOnRussia
分区键必须始终由 member1
拥有,DataCenterOnGermany
分区键必须始终由 member2
拥有。
因此 member2
可以使用 PartitionAwareKey
从 DataCenterOnRussia
请求数据。
PartitionAwareKey 的目的是允许数据关联...客户的订单应存储在与客户记录相同的分区中,例如,因为它们经常一起访问。
PartitionAwareKey 允许将项目分组在一起,但不是指定这些项目在特定集群成员上的位置的方法。 (我想如果有这样的东西,它很可能被称为 MemberAwareKey)。
Hazelcast 中的集群不是 fixed-size 实体;它是动态可伸缩的,因此可以添加或删除成员,而且它是 fault-tolerant,因此即使丢失一个成员也不会丢失恰好在该成员上的数据。为了支持这些功能,集群必须能够随着集群拓扑的变化将分区移动到不同的机器上。
Hazelcast 建议对集群的所有成员进行类似的配置(尤其是等效的内存配置),因为集群成员是可以互换的,至少在数据存储方面是这样。 (MemberSelector 设施确实提供了处理具有不同处理能力的系统的规定,例如,处理器内核数量;但没有类似的出口允许在指定成员上放置特定数据条目或分区)。
如果您的用例需要在机器上进行特定放置,则表明这些机器可能不应属于同一集群。