SQS vs SNS vs Kinesis

ServiceThink of it as
SQSA durable queue between producers and consumers
SNSA fan-out notification system
KinesisA 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.

Reference

Link Choosing between SQS, SNS, Kinesis, and EventBridge

aws