開発者が、Amazon SQS スタンダードキューからのメッセージを処理するために AWS Lambda を使用するマイクロサービスを構築しました。Lambda 関数は、外部 API を呼び出すことによって各 SQS メッセージをエンリッチし、そのデータを Amazon Redshift テーブルに書き込みます。キューは、1 秒あたり最大 1,000 メッセージをサポートする必要があります。テスト中に、重複する SQS メッセージが処理されたため、Redshift テーブルに重複する行が繰り返し挿入されました。すべての重複メッセージは、互いに 1 分以内にキューに入れられました。開発者はこの問題をどのように修正すべきですか?
解答を選択
オプションをタップして解答を確認してください。
正解: SQS FIFO キューに切り替え、その FIFO キューでメッセージの重複排除を有効にします。.
これが解答である理由
重複メッセージの処理を防ぐには、SQS FIFOキューとメッセージの重複排除機能が最適です。FIFOキューはメッセージの順序を厳密に維持し、重複排除IDまたはメッセージ本文のハッシュに基づいて、指定された重複排除間隔(最大5分)内で重複メッセージがキューに追加されるのを防ぎます。これにより、Lambda関数が同じメッセージを複数回処理するリスクがなくなります。 他の選択肢は不適切です。Lambda関数の同時実行数を減らしても重複メッセージの処理は防げません。Lambdaのローカルストレージ(/tmp)は一時的であり、複数のLambdaインスタンス間で状態を共有できないため、メッセージIDの追跡には適していません。スタンダードキューではメッセージグループIDは使用されず、メッセージの重複排除機能もありません。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する → カード不要