2017-06-10 2 views
-2

私は以下のようなアーキテクチャを持っています: -AWS Lambdaが削除するSQSポーラーの欠点は何ですか?

複数のSNS - >(AWS LambdaまたはSQS with Poller)??? - > Dynamo Db

したがって、基本的に複数のSNSがPollerでAWS LambdaまたはSQSを購読しており、そのことがDynamo Dbにデータをプッシュします。

これは?その間にメッセージの変換がたくさんあります。したがって、今の場合、AWS LambdaまたはSQSをPollerとともに使用することができます。 AWS Lambdaを使って、私はラムダ関数の変換を行うことができ、Pollerを使ってSQSを使うと、Pollerで変換を行うことができます。 AWS Lambdaでは、変換が非常に複雑(ルールが多い)なのでコードがかなり大きくなるという問題があるので、SQSの使用を検討しています。しかし、SQSを完成させる前に、AWS Lambdaが削除するSQSの欠点について知りたいと思っていましたか?

助けてください。詳しい情報が必要な場合はお知らせください。

+1

この質問は、[メッセージの変換のためのAWSラムダ](https://stackoverflow.com/questions/44468080/aws-lambda-for-transformation-of-messages) –

答えて

0

あなたの質問には詳細は含まれていませんので、私はあなたのニーズを解釈しようとします。

オプション1:SQSポーリング

  • 情報がSQSキュー
  • アマゾンSNSトピックに送信されますが(SNSトピック
  • にAmazon EC2インスタンス上で実行中のアプリケーションを購読していますs)定期的にポーリングメッセージを要求するSQSキュー
  • メッセージが利用可能であれば、メッセージのデータ

は、変換が処理に時間がかかる場合は、このアプローチは良いですアマゾンDynamoDBのテーブルに変換して保存されます。 EC2インスタンスの数は、キュー内の作業量に基づいて調整できます。 複数のメッセージを同時に受信することができます。伝統的なメッセージベースのアプローチです。

オプション2:をラムダ

  • を使用して情報をAWSラムダ関数は、SNSのトピック
  • ラムダ関数に加入している
  • アマゾンSNSトピックに送られ、呼び出されますメッセージがSNSトピックに送信されるとき
  • ラムダ関数は、メッセージのデータを変換してアマゾンDynamoDBのテーブル

AWSラムダ関数は、実行時間の5分のに限らなので、変換プロセスがその時間内に完了することができる場合には、このアプローチは、のみ動作します。

ラムダは自動的に複数の機能を並行して実行するため、サーバーは必要ありません。作業を実行しない場合、ラムダ関数は実行されず、計算料金は発生しません。 AWSラムダを使用して2つのオプションの

は、はるかに効率的かつスケーラブルなですが、それはあなたの特定のワークロードに応じて、異なる場合があります。

+0

にお答えいただきありがとうございます。 awsラムダコードのサイズはどうですか?私の懸念は、AWSラムダに入れているコードのサイズが単一のファイルになるためです。それはデザインの点で良いでしょうか? –

+1

私はその質問に答える方法を知らない。あなたが書いたコードは、あなた自身のコントロールのものであり、両方のオプションでかなり似ています。 –

関連する問題