Я тестирую Apache Ignite cluster с помощью тонкого клиента. NET. Я запустил 3 экземпляра ignite на локальном компьютере, используя программу запуска do tnet («платформы \ dotnet \ bin \ Apache .Ignite.exe»). Экземпляры нашли друг друга и автоматически заняли 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?
Может ли тонкий клиент автоматически обнаруживать другие узлы?
Мы планируем автоматическое масштабирование приложения в зависимости от используемой памяти, поэтому все адреса узлов и порты не будут известны при запуске клиента.