ある会社が、複数のAmazon EC2インスタンスでアプリケーションを実行しています。このアプリケーションは、Amazon SQSキューからメッセージを処理し、Amazon RDSテーブルに書き込み、その後キューからメッセージを削除します。SQSキューには重複するメッセージがないにもかかわらず、RDSテーブルに時折重複するレコードが出現します。ソリューションアーキテクトは、メッセージが一度だけ処理されるようにするために何をすべきですか?
解答を選択
オプションをタップして解答を確認してください。
正解: ChangeMessageVisibility APIコールを使用して可視性タイムアウトを増やす。.
これが解答である理由
RDSテーブルに重複レコードが発生する原因は、メッセージの処理中に可視性タイムアウトが切れ、他のインスタンスが同じメッセージを再度処理してしまうためです。ChangeMessageVisibility APIコールを使用して可視性タイムアウトを増やすことで、メッセージ処理が完了するまでの十分な時間を確保し、他のコンシューマがそのメッセージを受け取らないようにできます。これにより、メッセージの重複処理を防ぎ、RDSへの重複書き込みを回避できます。 新しいキューの作成や権限の追加は、既存の重複処理の問題を解決しません。ReceiveMessageの待機時間設定は、メッセージのポーリング動作に影響しますが、処理中の重複を防ぐものではありません。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する → カード不要