同じ顧客の注文を順番どおりに処理

正解は ウ です。 SQSの FIFOキュー は、 同じメッセージグループIDの中で順序を保証 します。顧客IDをグループIDにすれば、 顧客ごとの順序 を守りつつ、異なる顧客は 並行して処理 できます。 方式 顧客ごとの順序 全体の処理量 FIFO(顧客IDでグループ) 守られる 並行で高い 同時実行数1 守られる 大きく落ちる FIFO(全体で1グループ) 守られる 1件ずつで落ちる 全体が1つの順序になり、並行処理ができない。 全体が1件ずつになり、処理量が大きく落ちる。標準キューは順序も保証しない。 顧客ごとの順序を守りつつ、顧客をまたいで並行に処理できる。 待っても順序は保証されず、遅延も増える。

注文の変更のメッセージをキューで受けて処理している。同じ顧客の「注文の作成」と「取り消し」が逆の順で処理され、取り消したはずの注文が残る問題が起きた。顧客が異なる注文は並行して処理し、全体の処理量は落としたくない。

最も適切なものを1つ選択してください。

出典AWS非公式・オリジナル問題
ア
全顧客のメッセージに同じメッセージグループIDを付けて、FIFOキューで処理する
イ
標準キューのまま、処理するLambdaの同時実行数を1にして1件ずつ処理する
ウ
SQSのFIFOキューを使い、顧客IDをメッセージグループIDにする
エ
標準キューのまま、メッセージに時刻を入れて、処理の前に1分間待ってから処理する