私は、要件があるSpring xdとgemfire xdに取り組んでいます。xd-adminが実行されているノード(ローカルファイルシステム)の1つからデータを収集します。このファイルを収集し、処理のために送信します。以下は私のストリーム定義です。
ソースファイル /tmp/xd/input --ref true | プロセッサー (メッセージコレクター) | processor((式の計算) | シンク(gemfire xd)
私は 3 ノードの spring xd と gemfire xd クラスターを持っています。最初のノード (xd-admin.xd-container) と 2 & 3 ノードの xd-containers が実行されています。コンテナーは xd-admin に適切に登録されます。単一の redis インスタンスを構成しました。
私の要件は、ファイルからデータを収集し、プロセスのために送信して gemfire xd に保存することです。
messageCollector --> すべてのメッセージを HashMap として収集し、次のプロセッサに送信します 方程式の計算。ここで、すべてのレコードが方程式を通過して計算され、結果が次のシンク (gemfire xd) 挿入に送信されます。
これは、私は単一ノード環境でテストし、うまく機能しています。さて、上記で説明したように、分散環境に移行しました。
分散環境でモジュールを作成するにはどうすればよいですか。すべてのモジュールを使用可能なすべてのノードに移動する必要がありますか?
また
ソースモジュールは、実際のファイルと残りのモジュールが利用可能なすべてのコンテナーに移動する場所にのみ存在します。
ここでは、方程式計算モジュールで、ファイル内のすべてのレコードのシーケンスを維持しています。gemgire xd(sink) では、同じシーケンスをそのまま維持する必要があります。
現在は単一ノード環境にあるため、単一ノードで処理される全体としてうまく機能しています。
ここで、上記で説明したように、コンテナーがない分散環境に移動しました。挿入までシーケンスを保持する方法。
分散環境でのモジュールの展開を手伝ってください。
ありがとう、 -スヨーダ