2016-11-13 5 views
3

AWS Lambdaはインフラストラクチャから開発者を抽象化することになっていることを理解しています。しかし、スケーリングがどのように機能するかはわかりません。AWSラムダインスタンスはどのようにスケールされますか?

トラフィックが多いときに新しいコンテナが自動的に開始されますか?

+1

これまでに見たAWS LAmbdaのドキュメントは何ですか? –

答えて

5

AWSラムダ関数は、多くの異なるevent sourcesによってトリガされます。

AWSラムダは、各ラムダ関数を実行して、それ自身の環境でスタンドアロンプ​​ロセスとして実行します。 100の同時ラムダ関数のデフォルトの制限があります。

ラムダ「スケーリング」を考える必要はありません。むしろ、イベントソース(またはあなた自身のアプリケーション)がラムダ関数を実行するたびに、環境が作成され、関数が実行され、環境が分解されます。ラムダ関数を呼び出すものがない場合、ラムダ関数は実行されていません。 100回の呼び出しが発生すると、100個のラムダ関数が実行されます。

AWSインフラストラクチャ上で並列実行することで自動的に「スケール」されます。 100msごとに関数が実行されている間のみ支払いを行います。 AWSのバックエンドインフラストラクチャが、すべての顧客が集約して実行するラムダ機能の数をサポートできるようにすることが、AWSの仕事です。

+0

さて、私はawsのドキュメントで読んだことに基づいてちょっとした問題です。コンテナを再利用しているようで、そのロジックの実装はブラックボックスのようです。 – user3791980

+1

これは簡単に処理できます。あなたのラムダ関数は、それが環境で実行する "最初の"ものであると仮定してはいけません。それ自身の後にクリーンアップする必要があります(たとえば、一時ファイルを削除する)。環境を再利用する利点は、起動時間を取り除くので、関数がより速く実行されることです(特にJava関数の場合)。コンテナを再利用することができない場合は、新しいコンテナが配備されるため、拡大縮小には影響しません。 –

関連する問題