ServiceMix/ActiveMQ/Camelのクラスタを使ってデータを並列処理したい。最初にデータを分割してから、複数の JMS メッセージとブローカーの ActiveMQ ネットワークを介して配布することで、それを達成できるようです。
ただし、すべてのノードからのすべての結果を最終的に集約する必要があるというのが難しい部分です。私は現在、それを行う方法がわかりません。最終的には、すべての結果が 1 つのノードに到達する必要があります。
全体の流れは次のようになります。 (1) データを取得します。(2) それを管理しやすいチャンクに分割します。(3) ActiveMQ クラスターを介して、データのチャンクを分散 JMS キューにポストします。(4) データはすべてのノードで処理されます。
今、私が処理する方法がわからない部分:
(5)すべてのノードから処理されたデータを集約します。 (6) 集約された結果を使用した最後の処理ステップ。
> [Process data (node 1)] >
[Retrieve DATA] >>>[vm://]>>> [SPLIT] >>>[activemq://]>>> [Process data (node 2)] >>>[activemq://]>>> [AGGREGATE] >>>[vm://]>>> [FINALIZE DATA]
> [Process data (node 3)] >
ActiveMQ ブローカー ネットワークがすべてを問題なく配布している場合、どうすればそれを達成できますか? 最終的な集約ルートを 1 つのノードのみにデプロイしますか? それはSPOFを作成するので、それは好きではありません…</p>
ありがとう!