Apache Ignite Distributed Queueを使用する予定です。Apache Ignite - Distibuted QueueとExecutors
私はスプリングブートアプリケーションで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.
);
分散エグゼキュータは、キューからポーリングしてタスクを実行できます。ここでは、エグゼキュータはポーリングしてタスクを実行し、同じ名前をキューに追加することが期待されます。ここでラウンドロビンを達成しようとしています。 クラスタ内に複数のサーバーが存在するにもかかわらず、1人のエグゼキュータだけがいつでも同じタスクを実行する必要があります。
これに関するご提案があります。
の両方からデータを追加できますか?私は、ignite.cluster()。forOldest()。node().isLocal()をチェックするだけでいいと思います。 – user1578872
はい、最も古いノードで十分でしょうか。 –