Я планирую использовать распределенную очередь Apache Ignite.Apache Ignite - Распределенная очередь и исполнители
Я использую Ignite с использованием пружинного ботинка. Таким образом, при загрузке я буду добавлять 20 имен в очередь. Но, поскольку в кластере есть 3 сервера, те же 20 имен добавляются 3 раза. Но я хочу добавить их только один раз в очередь.
Ignite ignite = Ignition.ignite();
IgniteQueue<String> queue = ignite.queue(
"queueName", // Queue name.
0, // Queue capacity. 0 for unbounded queue.
null // Collection configuration.
);
Распределенные исполнители смогут проводить опрос в очереди и выполнять задачу. Здесь ожидается, что исполнитель опросит, запустит задачу, а затем добавит то же имя в очередь. Пытаемся добиться круглого рога. Только один исполнитель должен выполнять одну и ту же задачу в любой момент времени, хотя в кластере есть несколько серверов.
Любое предложение для этого.
Нужен ли мне обоим? Надеюсь, только проверка ignite.cluster(). ForOldest(). Node(). IsLocal() будет делать. – user1578872
Да, проверить самый старый узел будет достаточно. –