0

DBからデータをロードし、DBに再度保存される結果を生成する前に処理を適用するルートを実装するためにラクダを使用しています。これは Web アプリケーションの一部です。

私の問題は、この戦争がロードバランサーによって 2 つのサーバーに展開されることです。次に、同じ DB で同じ処理を実行する 2 つのルートを持つ 2 つのキャメル コンテキストがあります。

同じレコードが 2 つのルートで処理されている場合があります。ルートが同じジョブを 2 回実行するのを防ぐために、この問題を処理するにはどうすればよいですか?

4

1 に答える 1

0

各サーバーが同じレコードを受信できるようにその設定が必要な場合は、べき等ルートが必要です。また、べき等リポジトリがマシン間で同じであることを確認する必要があります。データベースをリポジトリとして使用するのは簡単なオプションです。データベースがない場合は、hazelcast リポジトリがオプションになる可能性があります。

問題になる可能性があるのは、注文番号、顧客 + 日付/時刻、または増加するトランザクション ID 番号など、レコード内で何が一意であるかを判断することです。

于 2013-08-26T08:51:18.017 に答える