0

プライベート Cloud Foundry スタックで FRP (AWS Lambda に似たもの) のラインでオンデマンド アプリケーションを開発する必要があります。これは、他の方法では常に少量のアプリケーションを実行するコストを節約するためです。

メッセージが JMS ベースのメッセージング システム (IBM MQ など) に届いた場合にのみ、アプリケーションをトリガー/開始する必要があります。少量のアプリケーションであるため、それ以外の場合は停止したままにする必要があります。

詳細な調査と Spring ドキュメントの検索に基づいて、メッセージがソース キューに表示されるたびにマイクロサービスをトリガー/開始し、完了時にシャットダウンする望ましいソリューションには、次の組み合わせが必要になるように思われます。Spring Cloud Data Flow + Spring Cloud Stream + Spring Cloud Task をテクノロジースタックとして。

さまざまなサンプルのうち、以下の組み合わせは、ローカル マシンで PoC を開始するために必要なもののようです。

https://github.com/spring-cloud/spring-cloud-task/tree/master/spring-cloud-task-samples/tasksink https://github.com/spring-cloud/spring-cloud-stream-samples /tree/master/sink https://github.com/spring-cloud/spring-cloud-dataflow/tree/master/spring-cloud-dataflow-server-local

ただし、すべてをプラグインして結果を達成する方法はまだわかりません。

ある程度の進歩はありますが、このソリューションのアーキテクチャを完全に明確にすることはまだ明確ではありません。

私が理解している限りでは、私たちは...

  1. Spring Cloud DataFlow サーバーを実行する
  2. Spring Cloud DataFlow Shell または UI を実行する
  3. Spring Cloud Stream シンク アプリケーションを作成して実行します (Maven にもインストールする必要がありますか?)
  4. Spring Cloud Task シンク アプリケーションを作成し、Maven Repo にインストールします
  5. Spring Cloud Task も作成する必要がありますか?
  6. モジュールを登録します (しかし、この場合のモジュールとは何ですか?)
  7. DF サーバーでストリームを作成し、その上に展開します
  8. もっと何か?

...結果を達成するために。

誰かがこれで私を助けて、ここから逃したビルディングブロックを提案できますか? そして、上記の質問に対する答えがわかっている場合。

また、私の理解にギャップがあり@EnableTaskますか?アプリケーションがトリガーされたときにのみ実行され、それ以外の場合は停止したままになるのに十分なほど正しく想定していますか?

4

1 に答える 1

0

Spring Cloud Stream アプリケーションと Spring Cloud Task アプリケーションを選択する際には、重要な違いがあります。

Spring Cloud Stream -> イベント駆動型の長期間有効なマイクロ サービス アプリケーション Spring Cloud Task -> オンデマンドで実行される短期間のマイクロ サービス アプリケーション

@EnableTask がトリガーされたときにのみアプリケーションを実行し、それ以外の場合は停止したままにすることは十分に正しいと思いますか

はい。ただし、実行が完了した後、タスク アプリケーションはそうではありませstoppedん。dies

Spring Cloud Stream シンク アプリケーションを作成して実行します (Maven にもインストールする必要がありますか?)

シンク アプリケーションが必要な理由がわかりません。TaskLaunchRequestここでは、シンク アプリケーションへのトリガーとなるソース アプリケーションが必要になります。トリガーの原因となるメッセージを JMS ブローカーから受信するように、ソース アプリケーションを構成する必要があります。

Spring Cloud Task シンク アプリケーションを作成し、Maven Repo にインストールします

sinkこれは、 5 で作成したタスクを起動するSpring Cloud ストリームアプリケーションです。これはその一です。このアプリケーションは、着信を探す長寿命のアプリケーションですTaskLaunchRequest

Spring Cloud Task も作成する必要がありますか?

はい、これはオンデマンドで実行したい短命の実際のタスク アプリケーションです。

于 2016-10-27T12:20:27.623 に答える