2017-04-07 17 views
5

Amazon LambdaにSpring起動アプリケーションをデプロイしようとしています。 もし、ハンドラが素早く連続して呼び出された場合、Springは自身をリロードしようとします。データソースを再設定し、Beanをリロードします。Amazon LambdaでSpringブートを実行

主な方法が既にあれば、と呼ばれる?

おかげ ダミアン

答えて

3

私の知る限りでは、アマゾンラムダは、要求ごとにインスタンス化されるステートレス機能、です。

ラムダを何度も呼び出すと、すべてのリクエストに対してSpringブートの初期化が行われるのが普通です。

リクエストが遅い場合は、AWSが同じラムダを再利用している可能性があるため、1回のSpring初期化のみが行われます。

リクエストが高速になるか、または並行して実行されると、AWSはLambdaのインスタンスをさらに起動し、動的に拡張します。これはあなたが直面していることを説明します。

AWSラムダとしてのSpringアプリケーション全体を使用するのは正しいアプローチではないと思います。ラムダはステートレス関数でなければならず、すぐにインスタンス化することができます。

this tutorialで説明されているように、春のアプリをできるだけ小さくして読み込み時間を短縮し、リソースを節約しようとする場合があります。

+0

こんにちは@Stefan。私はこれらすべての点に同意します。私はスピンを使わないことを考え、スパークのようなものを見ましたが、悪いコーディング慣行を導入する可能性があると思いました。私が書いているコードについては、すべてキューベースです。タイミングは重要であり、私が意識するものです –

+0

これは、Spring Boot開発者がAWS Lambdaで、特にAPI Gatewayと連携して、Spring MVC/Webアプリケーションに役立つためにオーバーヘッド時間を短縮する仕事だと思います。これはPython/Djangoの世界で行われています:http://www.zappa.io –

+0

これを見たい方はhttps://github.com/spring-projects/spring-boot/issues/10136に投票してください –

関連する問題