SQS vs SNS vs Kinesis — Difference

Gaurav Gupta
2 min readNov 10, 2019

--

In this article, I’ll talk about difference between SQS, SNS & Kinesis.

KINESIS VS SQS VS SNS
  • 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.

--

--