java - Apache Ignite:让客户端访问本地机器上的 Ignite 服务器,而不是集群中的任何机器
问题描述
我有两个 Linux 机器,每个机器都托管 Ignite 服务器实例,它们链接到两个节点的集群中。两台服务器都有一些数据缓存,缓存配置为REPLICATED
. 此外,每个 Linux 机器都有大约 15 个 Java 进程,它们具有 Ignite 客户端并连接到 Ignite 集群以获取一些数据。
是否可以配置 Ignite 客户端,使其首先尝试从运行在与 Ignite 客户端相同的 Linux 机器上的 Ignite 服务器中运行的缓存中获取数据?如果没有这样的服务器,则转到集群中的任何其他活动的 Ignite 服务器。
我试过AffinityFunction
了,但它没有关于 Ignite 客户端的信息。
解决方案
胖客户端会尝试去数据所在的地方。如果数据在并置节点上,则将对其进行查询。当然,对于 SQL 或 Scan 查询,并不总是可以知道,在这种情况下,查询将被广播。
推荐阅读
- huawei-mobile-services - 需要华为应用库中的应用发布格式信息
- python - 在 Python 中通过多处理同时执行不同的函数
- regex - 十进制值和 1 个字母的正则表达式
- javascript - 使用拼接替换所有找到的项目
- r - 如何为 R 中的变量创建交叉频率/比例表(参见下面的示例)?
- python - 使用 Flask 未显示 Swagger 的登录窗口
- memory - STM32 Flash 写入导致多个 HardFault 错误
- c# - C#基本linkLabel不打开url,异常未处理
- r - 为什么 ifelse 函数只返回作为参数提供的向量的第一个元素?
- javascript - JXA:第二次及更多次运行后“无法创建重复变量”