AWS / SAP-C02

SAP-C02-177 · 理解確認

理解確認:Publish / SubscribeとEvent-driven Architecture

Amazon SNS / Amazon EventBridge / Publish / Subscribe / Event Bus / Event Routing / Fan-out

進捗1 / 3
Q1 — 単一選択

注文サービスは、注文確定後に通知、ポイント付与、分析の3サービスを直接呼び出しています。新しい不正検知サービスを追加するたびに、注文サービスへ呼び出し先を追加して再デプロイしています。

Publish / SubscribeとFan-outを利用したモダナイゼーションとして最も適切なものはどれですか。

A. 注文サービスから各サービスへの直接呼び出しを維持し、呼び出し先一覧だけを設定ファイルへ移す
B. 注文確定をAmazon SNSトピックへ発行し、独立した各処理をサブスクライバーとして追加できる構成にする
C. 通知、ポイント付与、分析、不正検知を1つの処理へ統合し、注文サービスから1回だけ同期呼び出しする
D. すべての処理で1つのAmazon SQSキューを共有し、1件の注文イベントをいずれか1つの処理だけが受信する
答えと解説

答え:B

問題は、受信側を追加するたびに注文サービス自身を変更する必要があることです。注文確定をAmazon SNSへ発行し、各処理をサブスクライバーとして追加できる構造にすることで、Fan-outする受信側の変更を発行元から分離しやすくなります。