2017-09-14 9 views
2

私はバンプバッチを使用してETLバッチアプリケーションを開発中です。私のETLプロセスは、ページベースの1つのREST APIからデータを取り込み、それをGoogle Big-queryにロードします。私はkubernetesクラスタにこのバッチアプリケーションを導入したいと思いますし、ポッドスケーラビリティ機能を利用したいと思っています。私はスプリングバッチが水平と垂直スケーリングの両方をサポートしていることを理解しています。 -kubernetesのスケーラブルバネバッチジョブ

1)リモートチャンク/リモートパーティショニングを使用してオンデマンドでポッドを作成できるように、このETLアプリをkubernetesにデプロイするにはどうすればよいですか?

2)メインマスターポッドと負荷に基づいてプロビジョニングされた別のスレーブポッドがあると仮定しています。それが正しいか?

3)kubernetesバッチAPIも1つあります。 kubernetesバッチAPIを使用するか、Spring Cloudのfeature.Whisオプションを使用する方が良いですか?

+0

あなたはこの質問の解決策を得ましたか –

答えて

1

私はSpring Boot with、Spring Batch、Spring Cloud Taskを使用して、似たようなことをしました。多分あなたを助けるでしょう。

このように動作します。私は、マスターアプリケーションでKubernetesにポッドを配備するマネージャーアプリを持っています。マスターアプリケーションは何らかの作業をしてから、「ワーカー」でいくつかの他のポッドを展開するリモートパーティションを開始します。ご質問にお答えしようと

1)あなたは春のバッチジョブを持つアプリケーションのドッキングウィンドウの画像を作成することができます。 マスターアプリケーションと呼んでみましょう。 マスターアプリケーションをデプロイするアプリケーションは、TaskLauncherまたはAppDeployerを使用できます。spring cloud deployer kubernetes

2)正しいです。この場合、リモートパーティショニングを使用できます。各パーティションは、ジョブを持つ別のドッカー画像になります。これはあなたの労働者です。 リモートパーティションの例が見つかりましたhere

3)私の場合、私は春のバッチを使用し、私が必要なすべてを行うことができます。私が今抱えている唯一の問題は、クラスタのアップスケーリングとダウンスケーリングです。私のワーカーはステートフルではないので、インスタンスがクラスタから削除されたときにいくつかの問題が発生しています。クラスターを高級化したり縮小したりする必要がない場合は、行かなくてはなりません。

関連する問題