Conceptly
← All Concepts
📬

Amazon SQS

IntegrationMessage Queue Service

SQS is a queue that safely holds task messages until consumers pull and process them. It stabilizes async work by separating producer and consumer speed and by isolating failures through retries.

Architecture Diagram

📊 Data Flow

Dashed line animations indicate the flow direction of data or requests

Why do you need it?

If payment confirmation immediately calls receipt delivery, inventory updates, and recommendation refreshes, one slow downstream system can stall the whole request. Without a safe place to queue work during spikes, failures spread in chains.

Why did this approach emerge?

Early systems often had APIs directly calling downstream tasks, but cascading failures were common as load increased. This made queue-based architectures that decouple producers and consumers and absorb work in between essential.

How does it work inside?

SQS stores messages in a queue for consumers to poll and process. Visibility timeouts, retries, and a DLQ isolate failures and absorb throughput spikes. Standard queues fit high throughput with at-least-once delivery, while FIFO queues fit flows that require ordering and stronger exactly-once processing semantics.

When should you use it?

Well-suited for background jobs, async post-order processing, email sending, buffering, and pipelines that need retries. Not a good fit for broadcasting a single event to multiple consumers simultaneously.

Async processingWork queuesBufferingService decoupling