【发布时间】:2016-12-16 22:06:03
【问题描述】:
我们正在使用 Gemfire WAN 拓扑,但在设置网关发送方时遇到问题。
几个假设: - 复制区域 - 串行网关发件人 - 所有网关发件人的手动启动都是错误的
假设我们有 2 个集群,在每个集群中,我们有 2 个成员(成员 A 和成员 B)
成员 A 的 cache.xml
<gfe:gateway-sender id="gateway-sender-A" parallel="false" remote-distributed-system-id="2" manual-start="false" />
<gfe:replicated-region name="data" scope="DISTRIBUTED_NO_ACK">
<gfe:replicated-region name="subData" data-policy="REPLICATE" scope="DISTRIBUTED_ACK">
<gfe:gateway-sender-ref bean="gateway-sender-A"/>
</gfe:replicated-region>
</gfe:replicated-region>
成员B的cache.xml
<gfe:gateway-sender id="gateway-sender-B" parallel="false" remote-distributed-system-id="2" manual-start="false" />
<gfe:replicated-region name="data" scope="DISTRIBUTED_NO_ACK">
<gfe:replicated-region name="subData" data-policy="REPLICATE" scope="DISTRIBUTED_ACK">
<gfe:gateway-sender-ref bean="gateway-sender-B"/>
</gfe:replicated-region>
</gfe:replicated-region>
当我们在一个集群中运行启动两个成员时出现问题。它引发了这个错误:
java.lang.IllegalStateException:无法使用 [gateway-sender-A] 网关发件人 ID 创建区域 /data,因为另一个缓存具有使用 [gateway-sender-B] 网关发件人 ID 定义的相同区域
查看“网关发件人的高可用性”文档,我们的理解是我们可以创建 2 个网关发件人,其中只有一个将在给定时间点进行发送。最终,我们希望一个缓存区域有 2 个网关发送者(每个成员一个),一个作为主要发送者,另一个作为辅助发送者。
谢谢
【问题讨论】:
标签: gemfire spring-data-gemfire