DVA-C02開発HARD複数選択

あるロジスティクス企業が、SQS FIFOキューを使って配送順序を保証した荷物追跡システムを運用している。スループットが毎秒300メッセージを超えるとスロットリングが発生し始めている。FIFO特有の順序保証を維持しながらスループットを向上させる方法を2つ選択してください。

  1. A. FIFOキューを標準キューに変換し、スループット制限を撤廃する
  2. B. FIFOキューの高スループットモード(High Throughput Mode)を有効化し、スループットを毎秒9000メッセージ以上に引き上げる
  3. C. メッセージグループIDを配送車両IDなど粒度の細かい値に設定し、グループ内の順序は保ちながら複数グループを並列処理する
  4. D. Lambdaの同時実行予約を増やしてFIFOキューのコンシューマー並列数を上げる
  5. E. SQS FIFOキューを複数に分割し、ラウンドロビンでメッセージを分散する
解答と解説を見る

正解: B, C

SQS FIFOキューの高スループットモード(B)はAWSが提供する正式な拡張機能で、従来の300メッセージ/秒(バッチ処理で最大3000メッセージ/秒)をリージョンによっては9000〜70000メッセージ/秒まで引き上げる。FIFO特性(順序保証・重複排除)は維持されたままスループット制限が緩和される。メッセージグループIDの粒度最適化(C)は、グループIDが少ない(例: 全メッセージが同一グループ)場合にグループ内の逐次処理制約がボトルネックになる問題を解決する。車両IDごとに独立したグループを設定することで、グループ間は並列処理されて全体スループットが向上する。AのFIFO→標準キュー変換は順序保証を破棄するため要件に違反する。EのFIFOキュー複数分割はキュー間の順序保証が失われるため、全体的な順序保証要件を満たせない。DのLambda同時実行予約増加は、FIFOキューのメッセージグループ単位の逐次処理制約(1グループにつき同時処理数は1)がボトルネックであるため、Lambda並列数を増やすだけでは効果がない。

▸ この試験を本気で演習する(全150問・無料)