Simple Queue Service

  • Public, Fully Managed, Highly-Available Queues – Standard or FIFO
  • Standard guarentee at least one delivery, order is not maintained, FIFO guarantee exactly once, order is maintained
  • Messages up to 256KB in size – link to large data
  • Received messages are hidden (VisibilityTimeout) then either reappear (re-try) or are explicitly deleted
  • Dead-Letter queues can be used for problematic message
  • ASG can scale and Lambdas invoke based on queues length
  • SQS billed on ‘request’, 1 request = 1-10 messages up to 64KB total
  • Encryption at rest & in-transit

SQS Standard vs FIFO:

FIFO:

  • FIFO is 300 TPS w/o Batching, 3000 with
  • need FIFO suffix for FIFO
  • message is delivered exactly once

Standard:

  • Standard is like multilane highway, near unlimited TPS
  • faster
  • order is not guarenteed
  • message can be delivered more than once

SQS Delay Queues:

  • make message hidden for x amount of seconds when added to the queue
  • this is unlike VisibilityTimeout where message is hidden upon being received by consumer

SQS Dead-Letter Queues:
Imagine process that keeps failing, we need a way of handling this, this is where Dead-Letter Queue comes in. When ReceiveCount > maxReceiveCount & message isn’t deleted, it’s moved to Dead-Letter Queues.

Posted in

Leave a comment