プライベート 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
ただし、すべてをプラグインして結果を達成する方法はまだわかりません。
ある程度の進歩はありますが、このソリューションのアーキテクチャを完全に明確にすることはまだ明確ではありません。
私が理解している限りでは、私たちは...
- Spring Cloud DataFlow サーバーを実行する
- Spring Cloud DataFlow Shell または UI を実行する
- Spring Cloud Stream シンク アプリケーションを作成して実行します (Maven にもインストールする必要がありますか?)
- Spring Cloud Task シンク アプリケーションを作成し、Maven Repo にインストールします
- Spring Cloud Task も作成する必要がありますか?
- モジュールを登録します (しかし、この場合のモジュールとは何ですか?)
- DF サーバーでストリームを作成し、その上に展開します
- もっと何か?
...結果を達成するために。
誰かがこれで私を助けて、ここから逃したビルディングブロックを提案できますか? そして、上記の質問に対する答えがわかっている場合。
また、私の理解にギャップがあり@EnableTask
ますか?アプリケーションがトリガーされたときにのみ実行され、それ以外の場合は停止したままになるのに十分なほど正しく想定していますか?