SAP-C02新しいソリューションのための設計HARD単一選択

ある企業が AWS 上で高可用性のメッセージキューシステムを構築しています。プロデューサーアプリケーションが大量のジョブを送信し、複数のコンシューマーが並行して処理します。一部のジョブは優先度が高く、他のジョブより先に処理される必要があります。また、ジョブの処理順序は同一優先度内では保証する必要があります。最も適切なアーキテクチャはどれですか?

  1. A. 単一の Amazon SQS Standard キューを使い、すべてのジョブを送信する。コンシューマー側でジョブのメタデータを確認し、優先度に基づいてスキップする
  2. B. Amazon Kinesis Data Streams でパーティションキーを使って優先度を分離する
  3. C. Amazon EventBridge でルールを使って優先度の高いイベントを先に処理する
  4. D. 優先度ごとに複数の Amazon SQS FIFO キューを作成する(例: high-priority.fifo、normal-priority.fifo)。コンシューマーは高優先度キューを先にポーリングし、空の場合は低優先度キューをポーリングする。FIFO キューで同一優先度内の処理順序を保証する
解答と解説を見る

正解: D

優先度キューパターン(Priority Queue Pattern)では、優先度ごとに別のキューを作成し、コンシューマーが高優先度キューから先に消費します。SQS FIFO キューは同一メッセージグループ内の順序を保証するため、同一優先度内の処理順序も確保できます。このパターンは AWS の Well-Architected Framework でも推奨されています。 A: 単一 SQS Standard キューでのコンシューマー側フィルタリングは非効率で、高優先度ジョブが大量の低優先度メッセージの後ろに埋もれる可能性があります。また SQS Standard は順序保証がありません。 B: Kinesis はストリーム処理向けで、ジョブキューとしての優先度管理や処理の可視性タイムアウトなどの機能は SQS に劣ります。 C: EventBridge はイベントルーティングに優れますが、優先度付きキューの機能(順序保証、可視性タイムアウト、DLQ)は SQS の方が適しています。

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