2

私は現在、Spring Batch の POC に取り組んでおり、実際の Spring Batch 機能のほとんどをかなりよく理解しています。私は現在、Spring Integration を使用して HttpRequest を受信し、メッセージ チャネルを使用して最終的にキュー内のジョブ ランチャーにジョブ実行を送信するプログラムを持っています。私たちが本当にやりたいことは、現在実行中のワーカーノードと入力ファイルのサイズを見て、ジョブを許可するワーカー ノードの数の決定。より多くのジョブを実行できるようにするために、ジョブの実行中にジョブが持つワーカー ノードの量を変更できるようにしたい場合もあります。

アイデアは、いつでも多くのジョブ要求を受け入れることができるサーバーを実行し、ジョブが分割されるマシンの大規模なクラスターを用意することです。水平方向にスケーリングできるようにしたいと考えています。サーバーがビジーでないときはいつでもハードウェアをフルに活用できるようにするだけでなく、小さなジョブが大きなジョブによって常にブロックされないようにすることもできます。

私の調査によると、これを行うには別のフレームワークを実装する必要があるようです (GridGain と Hadoop はこれを許可しますか?)。別の大規模なフレームワークを実装せずにそれを行う。

不明な点やわかりにくい点がありましたら申し訳ありません。私は先月 Spring と Spring Batch の学習を開始した低レベルのインターンであり、すべて、特にスケーリングに関することを完全に理解しているとは言えません。聞いてください、私は物事を片付けようとします。

助けてくれてありがとう!

4

1 に答える 1

1

spring-batch-admin アンブレラ プロジェクトhttps://github.com/SpringSource/spring-batch-adminの下にある「spring-batch-integration」プロジェクトをご覧ください。

スプリング統合を使用して作業を他のノードに分散する例が多数あります。特に、chunk および partition パッケージを参照してください。Spring 統合チャネルを jms チャネル アダプターに交換するだけです。ワーク パーティションを JMS 経由で分散することにより、必要に応じてワーカー ノードの数をスケールアウトできます。

春の統合フォーラムには、この件に関するスレッドが多数あります。「PartitionHandler」を検索します。

それが役立つことを願っています。

于 2012-07-20T21:35:07.513 に答える