An order-confirmed event must reach billing, inventory, and notification services.
The publisher should not manage each destination or its availability directly.
Which design is most appropriate?
Publish to an Amazon SNS topic and let each processing service subscribe, separating the publisher from multiple consumers through fan-out.
Detailed explanation
Shared-table polling creates tight coupling and additional database load.
Shared-table polling creates tight coupling and additional database load.
Adding handlers and isolating failures becomes difficult, reducing service independence.
Adding handlers and isolating failures becomes difficult, reducing service independence.
A subscriber failure or addition increases the publisher's direct dependencies.
A subscriber failure or addition increases the publisher's direct dependencies.
SNS separates one publisher from multiple subscribers and fans out the event.
SNS separates one publisher from multiple subscribers and fans out the event.
Check official documentation
Compare the following points with the official documentation.
Amazon SNSのトピック、発行、サブスクリプションの公式説明を確認する。
What to confirm
一つのイベントを複数の購読サービスへ配信するファンアウトを説明できる。
Key points
- Amazon SNS
- Topic
- Subscription
- Fan-out
Notes
- Environment: AWS公式SNSドキュメントの確認
- Confirm current AWS architecture guidance and service behavior in the official documentation.
Foundation review
Publisher independence
The publisher emits one event without maintaining a direct call to every consumer.
Consumer growth
New subscribers can be added without rewriting the publisher's destination list.