首页 > 解决方案 > Apache Ignite 在扩展集群中是否支持 PartitionAwareness?

问题描述

我正在使用 .NET 瘦客户端测试 Apache Ignite 集群。我已经使用 dotnet 启动器(“platforms\dotnet\bin\Apache.Ignite.exe”)在本地机器上启动了 3 个 ignite 实例。实例相互发现并自动占用10800、10801、10802端口。在我的测试应用程序中,我创建了 100 个缓存,每个缓存中有 1000 条记录,然后尝试依次从缓存中获取元素。问题是,只有当我手动指定 3 个地址“127.0.0.1:10800..10801”时,客户端才会向不同的节点发出请求。

        var configuration = new Core.Client.IgniteClientConfiguration
        {
            Endpoints = new List<string> { "127.0.0.1:10800..10802" },
            EnablePartitionAwareness = true
        };

如果我指定“127.0.0.1”或“127.0.0.1:10800”请求,我只向一个节点发出请求。

            var configuration = new Core.Client.IgniteClientConfiguration
        {
            Endpoints = new List<string> { "127.0.0.1:10801" },
            EnablePartitionAwareness = true
        };

我已经使用 WireShark 检查了客户端请求:

在此处输入图像描述

如果我想使用 PartitionAwareness 功能,我可以只指定一个节点吗?

瘦客户端可以自动发现其他节点吗?

我们计划根据使用的内存自动扩展应用程序,因此在客户端启动时不会知道所有节点地址和端口。

标签: c#ignite

解决方案


现在需要列出连接字符串的所有地址。

即将推出的瘦客户端发现功能将跟踪拓扑更改并将快照保存在客户端。实现细节: https ://cwiki.apache.org/confluence/display/IGNITE/IEP-44%3A+Thin+client+cluster+discovery

根据票证,目标版本是 2.9。我认为,目标日期是 9 月的某个地方。


推荐阅读