SQS FIFOキューを使用したオーダー処理システムを開発している。同じ顧客の注文は必ず順番通りに処理されなければならないが、異なる顧客の注文は並列で処理したい。この要件を満たすためにSQS FIFOキューで設定すべき属性はどれか?
SQS FIFOキューのMessageGroupIdは、同じグループ内のメッセージを順序通りかつ1つずつ処理することを保証します。異なるMessageGroupIdを持つメッセージは並列処理可能なため、顧客IDをMessageGroupIdに設定することで「同じ顧客は順序通り・異なる顧客は並列」という要件を満たせます。 選択肢Aのメッセージごとに一意のMessageDeduplicationIdを設定する方式は、重複排除用であり順序保証には使えません。 選択肢Cの VisibilityTimeout(可視性タイムアウト)を長く設定する方式は、同じ顧客のメッセージが同時処理されるのを防ぎませんし、順序保証メカニズムではありません。 選択肢DのDelaySeconds を使って各メッセージの配信を遅らせる方式は、順序を制御するメカニズムではなく、配信遅延を設定するだけです。