2017-02-02 10 views
1

私たちは現在バッチプロセスをスケーリングするためにSpringバッチ - リモートチャンクを使用しています。クラウドのデータフローを考えていますが、負荷に基づいてスレーブを動的にプロビジョニングできるかどうかを知りたいですか? Google Cloudにデプロイされているため、クラウドのデータフローが私たちのニーズに合致するかどうかに関わらず、kubernetesのSpring Cloudデータフローサポートも使用したいと考えていますか?Spring Cloudデータフローを使用して負荷に基づいてスレーブプロセスを動的にプロビジョニングできますか?

答えて

0

Spring Cloud Task(特にDeployerPartitionHandler)のバッチ拡張を使用する場合、ワーカーは必要に応じて動的に起動されます。そのPartitionHandlerは、最大数のワーカーを設定することができます。そして、各パーティションをその最大までの独立したワーカーとして処理します(他のパーティションが完了すると残りのパーティションを処理します)。 「動的」な側面は実際にPartitionerによって返されたパーティションの数によって制御されます。返されるパーティションが増えるほど、より多くのワーカーが立ち上げられます。

あなたはこのレポでCloudFoundryを使用するように構成された簡単な例を見ることができます:https://github.com/mminella/S3JDBCそれと何が必要だろうが、あなたがKubernetesTaskLauncherためCloudFoundryTaskLauncherを交換したいと、それは適切な設定だということであるとの主な違いを。

+0

私はメッセージングミドルウェアActiveMQを介してデータを送信しているので、現在はMessagingPartitionHandlerを使用しています。複数のパーティションハンドラを使用する必要があります。 –

+0

いいえ。「DeployerPartitionHandler」は、ワーカーの起動とメタデータの提供を担当します。これは、ActiveMQで送信される値を渡すためにBootプロパティーを使用しているため、このアプローチを使用するときにメッセージングミドルウェアは必要ありません。 –

関連する問題