複数の Lambda 関数を同じ SQS キューにサブスクライブする方法

複数の Lambda 関数を同じ SQS キューにサブスクライブする方法

私が達成したいのは、「自己ホスト型」サブスクライバーの代わりに、ラムダ関数を使用して、定義されたキューのコンシューマーの数をスケーリングすることです。

与えられたものとして、event-queueプロセスのクラスターで行うのと同じように、この同じキューから一意のメッセージを処理する複数のコンシューマーが必要ですが、クラウドでホストされる Lambda 関数を使用したいと思います。これまでのところ、スケーリング オプションなしで単一の関数でサブスクライブする方法を見つけました。

答え1

この記事はとても役に立ちましたクラウドノート(Andreas Wittig 著)、これは複数の AWS Lambda コンシューマーに対する 1 つのアプローチを例示しています。

SQS と Lambda を統合: 非同期ワークロード向けのサーバーレス アーキテクチャ

アンドレアスのソリューションを拡張するには、AWS CloudWatch アラームAWS SQSキューとtiggerからAWS クラウドフォーメーション(および/またはAWS サーバーレスアプリケーションリポジトリ) を使用して、必要に応じてさらに多くの AWS Lambda コンシューマーを起動できます。

もう一つのアプローチはアマゾンMQ

使用する場合はAmazon シンプル通知サービス (SNS)またはAWS キネシス同じメッセージが異なるラムダをトリガーし、ラムダ間で重複したアクションが発生する可能性があります。

[アップデート]

Amazon Simple Queue Service を AWS Lambda のトリガーとして使用できるようになりました。

詳細はこちら:https://aws.amazon.com/blogs/aws/aws-lambda-adds-amazon-simple-queue-service-to-supported-event-sources/

関連情報