想象一下,一个组织有两个数据中心(为简单起见,名为“A”和“B”),每个数据中心都运行多个节点,并且所有这些节点上都有一个Hazelcast集群。假设此群集中存在分布式映射,其配置为备份计数为1.
有没有办法配置Hazelcast分布式地图,以便数据中心A中的节点备份在数据中心B的节点上,反之亦然?这意味着丢失单个数据中心的事件Map数据(和备份)不会丢失?
答案 0 :(得分:2)
您想要的是分区分组。有关详细信息,请参阅documentation。 您可以做的最简单的事情是将此代码段包含在Hazelcast配置中:
<partition-group enabled="true" group-type="CUSTOM">
<member-group>
<interface>10.10.1.*</interface> <!-- network in data centre A -->
</member-group>
<member-group>
<interface>10.10.2.*</interface> <!-- network in data centre B -->
</member-group
</partition-group>
另一个选择是在每个数据中心创建自己的集群,并通过WAN复制连接它们。这将减少数据中心内的延迟,但它可能会产生冲突的更新,然后由您的MergePolicy来处理它。