| Service | Think of it as |
|---|---|
| SQS | A durable queue between producers and consumers |
| SNS | A fan-out notification system |
| Kinesis | A high-throughput event stream |
SQS:
Is ideal when
- Producers and consumers run at different speeds
- You want retry, durability, and backpressure
- Each message should be processed at least once
SNS
SNS is about fan-out, not durability for processing.
- Push-based
- One message → many subscribers
Subscribers can be: SQS queues or HTTP endpoints or Lambda
It doesn’t have message persistence for replay
SNS does not care whether subscribers process messages successfully — it only cares about delivery which is the goal.
Kinesis
High-throughput, ordered, replayable event streaming. Kinesis is built for continuous data flows, not discrete jobs.
Kinesis is an Append-only log (like Kafka) and Events are retained from 24h–365 days
Multiple consumers can read independently and Ordering is guaranteed per shard It supports very high throughput (MBs/sec)
Consumers track their own offsets, not deletes.