2016-10-17 11 views
2

背景ラムダAPIゲートウェイVSキネシスストリームから

私はAWSキネシス、APIゲートウェイについて勉強しています。

リクエストがAPIゲートウェイに当たったときはいつでも、データをストリームに転送することができます。または、ラムダをトリガすることができます(処理が行われます)。だから、

思考とクエリ

、私が直接、APIゲートウェイ(要求が到着すると、それがリアルタイムである)からラムダをトリガすることができれば、私の考えは、だった、キネシス・ストリームを持つことの利点は何ですか(リアルタイムデータ処理用)?

私は、ストリームを削除し、直接APIゲートウェイ(たとえ異なるタスクのための複数のAPIを作成する)

このシナリオでは、任意の考えからラムダを引き起こす可能性が!

答えて

3

実際に使用するソリューションは、処理しているデータとその処理方法によって異なります。あなたのシナリオのデータと結果に関するより多くの情報は、良いAWS適合を絞り込むかもしれません。 3つのオプションの簡略化は次のとおりです。Kinesis Streamsは、基本的に大量のデータにタイムシフトウィンドウを提供します。このデータを十分に長く保存することで、関連するデータを選択したり、集約を実行したりすることができます。データの分析は、データベースに保存することができます。キネシスストリームは、入ってくるすべてのデータを格納する必要がなく、コストがかかる場合に適しています。

  • Kinesis Firehoseは、データをS3、Redshift、またはElastic Search(または何らかの組み合わせ)に送信するエンドポイントを提供します。保存したデータを分析することができます。未処理のデータを後で処理するためにデータベースに保存したい場合には、これは良い選択です。しかし、あなたはそのデータのストレージを支払う必要があります。データまたは分析結果のサブセットのみが必要な場合は、コストがかかります。

  • API Gateway to Lambdaでは、リアルタイムでデータを処理できます。ラムダはデータで必要なことを行うことができます。このソリューションでは最も柔軟性があります。しかし、各リクエストを個別に処理する必要がありますが、Kinesis Streamsではバッチデータを分析できます。

  • 1

    クライアントアクセスの頻度とラムダ機能の時間長によって異なります。

    ラムダ機能の同時実行数は100に制限されています。ラムダが抑制されると、APIゲートウェイとKinesisストリームの間で再試行のアプローチが異なります。

    https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.htmlを参照してください。

    リクエスト率の見積もりを確認したい場合があります。

    さらに、Kinesisストリームは、データがシャードに到着する順序を保証します。

    +0

    実行時のコストを避けるために、または無限回帰で誤ってラムダを生成するために、デフォルトの同時実行は100に制限されています。それは安全限界です。あなたが参照するリンクは、制限の増加を要求するのが容易に思えるようになります。私は、アマゾンがあなたが必要とする可能性があるほとんどの制限の増加とかなり迅速かつ理解していることがわかりました。 – Dandalf

    関連する問題