スプリングバッチとAMQPによる分散バッチ処理
-
21-12-2019 - |
質問
大規模なバッチの処理を分散したい。このアイデアは、Spring Batchをクラウド内のAMQP消費者の束を作成し、次に安価なタスク(アイテムIDと同様)をロードしてAMQP交換に送信することです。結果の書面は消費者自身によって行われます。
これを達成するための既製のライブラリはありますか?
いくつかの考え:
- スプリングバッチは全く交渉可能です。
- バッチサイズは数百万です。私は私のメッセージブローカーをブルートフォースで一度に提出することによって私のメッセージブローカーを殺したくありませんが代わりにある種のスロットルを使います。
- 私はプロセスを監視できるように、私はどのアイテムが処理されたかについて知りたいです。そのため、バッチ制御プロセスは消費者からの返信を受信する必要があります。
解決
はい、 spring-batch-integration プロジェクト。それはあなたが欲しいものを実行するためにスプリングバッチとスプリング統合を組み合わせています。
バッチ2.2.xの場合、それはspring-batch-admin
ディストリビューションの一部です。次のバッチ3.0.0リリースでは、バッチ適切に移動されました。
リモートパーティション化はパーティションに関するメタデータを送信し、実際にデータを取り出します。
JMSの例ですが、Spring Integration AMQPゲートウェイのSpring-Integration JMSゲートウェイをスワップアウトするのは難しくありません。
パーティションメタデータの代わりにデータがトランスポートを介して送信されるリモートチャンキングバージョンもあります。
所属していません StackOverflow