Skip to main content

AWS SQS (Simple Queue Service)

What is it​

A fully managed message queue service that allows sending, storing, and receiving messages between software components at any volume.

What it's for​

Decouple and scale microservices, distributed systems, and serverless applications, ensuring messages are processed asynchronously and reliably.

Use cases​

  • Decoupling application components
  • Background task processing
  • Message delivery between microservices
  • Work queue management for batch processing
  • Request buffering to handle traffic spikes

Key points​

  • Fully managed: AWS handles infrastructure and scalability
  • Standard and FIFO queues: Supports standard queues ("at least once" delivery, no guaranteed order) and FIFO queues (First-In, First-Out, "exactly once" delivery, guaranteed order)
  • Decoupling: Allows message producers and consumers to operate independently
  • Scalability: Automatically scales to handle message volume
  • Durability: Messages are redundantly stored across multiple Availability Zones

Comparison with AWS SNS​

  • AWS SQS: A message queue service where messages are stored in a queue until a consumer processes them. Ideal for scenarios where messages need to be processed by a single consumer or where order and delivery guarantee are crucial.
  • AWS SNS: A pub/sub notification service where a message is sent to a topic and delivered to all subscribers. Ideal for scenarios where the same message needs to be delivered to multiple consumers.