1.gemfire如何在内部执行协同定位?
2.同一位置如何与分区一起工作?
3.异地办公如何与复制区域协同工作?
4.同一位置如何将复制区域和分区区域一起使用?
3.是否需要自定义分区来执行同一位置?
Gemfire的协同定位功能存在,因此您可以确保事务以内存速度而不是网络速度进行。例如,假设您要按CustomerId对问题进行分区。客户拥有与其关联的订单、发货和付款。假设发生发货时,您希望插入发货记录、更新订单和更新客户记录。为了确保订单与客户记录位于同一位置,您需要为订单构建一个包含OrderId和CustomerId的复合密钥。这可以像一个字符串一样简单,该字符串包含用连字符分隔的OrderId和CustomerId。然后,您需要实现一个PartitionResolver,它返回密钥的CustomerId部分。在定义订单区域时,您需要将以下内容添加到区域配置中:
<cache>
<region name="Orders">
<region-attributes>
<partition-attributes colocated-with="Customers">
<partition-resolver=CustomerIdPartitionResolver">
<class-name>myPackage.CustomerIdPartitionResolver</class-name>
</region-attributes>
</region>
</cache>