2017-07-11 40 views
1

私たちは10人の開発者からなるチームで、HerokuのRailsアプリケーションからAWS Lambda(Java)へのプロセス集中型のジョブを移動しようとしています。ラムダ関数をAPIゲートウェイ経由で呼び出すか、AWS Ruby SDK経由で直接呼び出すかは、ブロックされています。ユースケースによっては、lambdaも非同期に呼び出す必要があるかもしれません。私たちの積載物は非常に小さいです(< 1-2 KB)。主に実行時間を最大化するために直接呼び出しを検討しています。ここでは、ポインタを探しています:AWS Lambda-API Gatewayと直接呼び出しの呼び出し

  1. は、それがAPIゲートウェイ用(&速い)簡単なラムダを呼び出すのに必要なIAM役割を検証するためですか?
  2. ラムダb/wラムダとAPIゲートウェイのレイテンシが大幅に削減されていますか?

答えて

3

他にも述べたように、APIゲートウェイを追加してもパフォーマンスは向上しませんが、余分なオーバーヘッドが加わります。提供する追加機能のいずれかが役に立つ場合は、API Gatewayを使用してください。クライアントを制御する場合、ラムダ関数を直接呼び出す権限を持つクライアントで資格情報を取得でき、追加のAPIゲートウェイ機能は必要ない/必要がない場合は、ラムダ直接呼び出しを使用します。

+0

ありがとうマイク。また、SDKからの直接呼び出しでレート制限があるかどうかを確認できますか?ピーク時(実行時間20〜30秒)に毎分1000 AWSラムダリクエストを呼び出します。 SDKがスループットを処理できますか? – viveksura

+0

SDKに組み込まれている制限はありませんが、他のLambdaクライアントと同じレート制限が適用されます。制限は、クライアントではなくラムダ内の強制です。並行処理の上限を要求するには、AWSサポート経由でLambdaチームに連絡する必要があります。 –

+0

ありがとうございましたMike +1 – viveksura

3

ダイレクトラムダコールは、より高速なb/cで、ネットワークホップが1つ少なくなります。ラムダ/ APIGとIAM検証のレイテンシを直接比較することはできませんが、lambdaが動作しない、すなわち単にイベントオブジェクトを返すラムダ - ラムダ呼び出しとラムダ-APIG-lambda呼び出しをベンチマークしました。次のように平均的なタイミングは、次のとおりです。

  • ラムダ・ラムダ:27msという

  • ラムダ-APIG:47ms

だから、余分なホップのための税は20ミリ秒です。ラムダ - ラムダコールは、可能であればいつでも使用できます。特にラムダは世界に公開したくありません。

+0

これに追加するには、API Gatewayにいくつかの機能が追加されています。たとえば、APIのキー管理、調整、キャッシング(ユースケースではキャッシングが可能な場合は高速化が可能です)。それらのAPIゲートウェイのいくつかを使いたい場合は便利です。 –

関連する問題