SQS vs SNS vs Kinesis — Difference
2 min readNov 10, 2019
In this article, I’ll talk about difference between SQS, SNS & Kinesis.
- Kinesis — A Kinesis Data Stream.
- Simple Queue Service — A SQS Standard Queue.
- Simple Notification Service — A SNS Topic.
SQS: Simple Queue Service
- In SQS, consumers pull data.
- Data is also deleted after being consumed from consumer/subscriber.
- We can have many consumers(workers), as many we want.
- In SQS, we don’t need to provision throughput.
- SQS doesn’t provide order guarantee (except FIFO Type Queues).
- We can create individual message delay capability in SQS at time of message publish to Queue.
My Article on SQS:
https://levelup.gitconnected.com/aws-integration-messaging-sqs-755763530bcb
SNS: Simple Notification Service
- In SNS, we push data to many subscribers.
- We can have up to 10,000,000 subscribers in SNS.
- In SNS, we have publish data, data is not persisted(It would be lost if not delivered)
- SNS follows pub-sub model.
- We can have up to 100,000 topics.
- Same as SQS, we don’t need to provision throughput in SNS.
- We can integrates SNS with SQS for fan-out.
My Article on SNS:
https://medium.com/@kumargaurav1247/aws-sns-simple-notification-service-1972262b8564
Kinesis:
- In Kinesis, consumers pulls data.
- We can have any numbers of consumers in Kinesis.
- In Kinesis, we have possibility to replay data.
- Kinesis is basically for Real-time big data, analytics & ETL.
- We have ordering at shard level in Kinesis.
- We can mention the data expiry days.
- We should must provision throughput in Kinesis.