集群节点中的 Apache ignite 数据同步很慢

问题描述 投票:0回答:1

我无法使集群节点中的数据快速同步,并且同步数据需要花费大量时间。 我不知道需要设置什么配置才能使其达到最佳状态。 问题是这样的: 3 台服务器运行基于 apache ignite 构建的应用程序,其中一台服务器连接到数据库并加载数据。另外两个节点通过 tcp discovery 获取数据并从主节点复制数据。然而,当我在其他 2 台服务器上部署应用程序时,它们启动速度非常慢,今天发布版本花了超过 15 分钟。 我不是在谈论应用程序的响应时间,而是数据加载时间。需要一些专家的建议。

在主服务器上我运行了以下命令:

docker run -d --env-file=.env -p 11080:11080 --network host --restart=always routing_service

类似地,我为其他两台服务器运行了 docker 命令,希望它们能够连接,但很长一段时间都没有连接。 最终他们接通了,但花了超过 15 分钟。有谁知道我该如何修复这个部分?

java performance optimization caching ignite
1个回答
0
投票

我要问的第一件事是,为什么要使用一种旨在将数据分散到多个节点(主机)的架构,以便您获得分布式数据和在多个主机上并行扫描的好处。相反,您使用 3 个 ignite 实例作为单独的单节点服务器。如果您启动所有三个服务器实例并形成 1 个 3 节点集群,然后创建分区缓存或复制缓存,那么您将实现相同的目标,但加载时间将会减少!为什么?这是您在加载 Ignite1 后所做的 DB -> Ignite1 然后 Ignite1 -> Ignite2 这意味着网络接口上有大量数据。然后 Ignite1 -> Ignite3 相比之下,如果您启动 3 节点集群,那么在集群启动后,您的负载将如下所示 DB -> (Ignite1 & Ignite2 & Ignite3) DONE!希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.