Gemfire WAN与对等网络相结合



我们使用的是多站点WAN配置。我们在北美和欧洲有两个地理距离遥远的集群。

上下文:集群1有两个成员A和B,它们都是网关发送方。集群B具有两个成员C和D,这两个成员都是网关接收器。当集群1中的成员A启动时,它从数据库中读取数据,并将其加载到发送到集群2的gemfire缓存中。到目前为止一切都很好。

问题:如果集群2中的两个成员同时重新启动,它们将丢失所有gemfire区域/数据。此时,我们可以在集群1中重新启动成员A,它再次从DB加载数据并被推送到集群B。但我们更希望避免成员A的重新启动,并且不保留到硬盘

有没有一种解决方案,如果集群2重新启动,它可以从集群1请求数据的完整副本?

不确定这是否可能,但我们能否以某种方式为集群2中的网关接收器(位于WAN顶部)设置对等,以便在重新启动时自动更新它们。

感谢

目前不支持通过WAN获取数据的完整副本。相反,您可以在站点a的所有成员上运行一个函数,该函数只需迭代所有数据并将其重新放回区域中。例如:

public void execute(FunctionContext context) {
RegionFunctionContext ctx = (RegionFunctionContext)context;
Region localData = PartitionRegionHelper.getLocalDataForContext(ctx);
for (Object key : localData.keySet()) {
Object val = localData.get(key);
localData.put(key, val);
}
}

最新更新