gpt4 book ai didi

java - 使用 gemfire 通过集群传输数据

转载 作者:行者123 更新时间:2023-12-02 10:17:26 25 4
gpt4 key购买 nike

我已经为我的用例搜索了解决方案,但没有找到正确的解决方案,因此期待一些好的想法可以进一步探索。

我有两个 gemfire(版本 8.2)集群(私有(private)公共(public)),每个集群都存储 110+ GB 数据,而不保留到磁盘存储。私有(private)集群从数据库获取数据并通过 WAN 网关将条目传输到公共(public)集群,直到两个集群都在线。我有一个用例,我只重新启动公共(public)集群,但此后它会丢失数据,并且要重新填充数据,我必须重新启动私有(private)集群并将数据从数据库加载到私有(private)集群,进而通过 WAN 传输数据。

我无法从数据库填充公共(public)集群,因为它会将负载添加到我的主数据库上,这会影响其他应用程序。

我尝试了多种解决方案。

第一:从私有(private)集群导出数据集,然后导入到公共(public)集群;但这会断开私有(private)集群 gemfire 节点的连接,因为它在每个区域存储大量数据,而且我对下载大量数据的磁盘空间也有限制。

第二:我有可能从公共(public)集群公开 JMX bean。然后,我可以运行一个客户端程序,该程序在私有(private)集群中调用 gemfire 函数,该函数迭代条目并通过 JMX 将条目放入公共(public)集群中,但我的组织基础设施不允许我在 gemfire 节点中公开 JMX beans。

第三: 与第二个一样,gemfire函数可以通过队列将数据传输到公共(public)集群,这似乎可以工作,但有其自身的局限性。队列只能传输1MB的文本消息,因此我需要专门处理大对象,并且数据传输包括不必要的序列化和反序列化(JSON文本消息)。

无论如何,我是否可以要求私有(private)集群通过 WAN 网关或其他人建议我探索的任何其他解决方案重新传输所有数据。

最佳答案

您可以在这个开源项目中尝试“gemtouch”gemfire-toolkit .

这听起来与想法 2 非常相似,但它不需要公开 JMX bean。它确实像 gfsh 一样使用 JMX。如果这是一个问题,您可以轻松地删除 JMX 的使用,因为它仅使用 JMX 来检索区域列表。

关于java - 使用 gemfire 通过集群传输数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54578806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com