開発者は注文処理システムを構築しています。各注文は一意の注文IDを持ち、同じ注文IDのメッセージは重複処理されてはなりません。 また、同一顧客の注文はメッセージ到達順に処理する必要があります。 Amazon SQSを使用する場合、最も適切な設定はどれですか?
SQS FIFOキューはメッセージの順序保証と重複排除機能を提供します。MessageDeduplicationIdに注文IDを設定すると5分間の重複排除ウィンドウ内の重複送信を防ぎ、MessageGroupIdに顧客IDを設定すると同一顧客の注文が到達順に処理されます。 選択肢AのSQS標準キューとLambda内の重複チェックロジックは、標準キューが順序保証も重複排除も提供しないため、Lambdaで完全に自前実装する必要があり、ロジックの複雑さと信頼性の観点から不適切です。 選択肢CのSQS標準キューと長い可視性タイムアウト(Visibility Timeout)は、重複処理を完全には防ぐことができません。 選択肢DのすべてのメッセージにMessageGroupIdを設定するとキュー全体が1つのグループとなり並列処理が不可能になります。