Skip to main content
Version: Next

Simple Queue Service (SQS)

  • Oldest offering (over 10 years old)
  • Fully managed (Serverless)
  • Scales from 1 message per second to 10,000s per second
  • No limit to how many messages can be in the queue
  • Low latency (< 10 ms on publish and receive)
  • Horizontal scaling in terms of number of consumers
  • Can have duplicate messages (at least once delivery, occasionally)
  • Can have out of order messages (the best effort ordering)
  • Delivery delay: 0 to 15 minutes
  • Limitation of 256KB per message sent
  • Message are encrypted by default in transit, but not at rest
  • Default retention of messages: 1 minutes, to 14 days default 4 days
  • Long Polling
    • When a consumer requests messages from the queue, it can optionally wait for messages to arrive if there are none in the queue
    • The ReceiveMessageWaitTimeSeconds is the queue attribute that determines whether you are using Short or Long polling. By default, its value is zero which means it is using Short polling. If it is set to a value greater than zero, then it is Long polling

Dead Letter Queues

Standard and FIFO

  • Standard:
    • at-least-one delivery
    • Best effort ordering: occasionally messages may be delivered in order different from which they were sent
  • FIFO
    • Messages are processed exactly one in the exact order that they were sent
    • Support only 300 messages per seconds