Amazon SNS
SNS is a pub/sub notification channel that spreads one event to many subscribers at the same time. Producers publish once to a topic, and each consumer, such as email, HTTP, Lambda, or SQS, receives the same event in its own way.
▶Architecture Diagram
🔗 RelationshipDashed line animations indicate the flow direction of data or requests
One order-complete event might need to send email, wake downstream jobs, and alert operations, and the moment the publisher calls every consumer directly the wiring starts to tangle. As more consumers appear, notification plumbing becomes more work than the feature that produced the event.
In the past, every time a notification was needed, you had to directly call email, webhooks, and follow-up tasks individually. This is why pub/sub models like SNS, which separate event publishing from consumption and deliver to multiple destinations simultaneously, became important.
SNS delivers messages published to a topic to multiple subscribers simultaneously. A topic acts as a high-throughput push-based fan-out channel, and subscribers can receive the same event through different delivery types such as email, SMS, Lambda, SQS, or HTTP endpoints.
SNS and SQS are both messaging tools, but the flow shape is different. SNS is a fan-out channel that spreads one event to multiple subscribers at once, while SQS queues individual tasks for delivery and retry handling. If you need to notify multiple consumers about the same event, look at SNS; if you need buffering and one-by-one task handling, look at SQS.
Well-suited for alarm propagation, event fan-out, email and SMS notifications, and broadcast-style work in async pipelines. Not a good fit when a single consumer needs to buffer and process tasks sequentially.