Amazon SQS vs Amazon SNS

By BuildPlane

Compare durable pull-based queues with push-based pub/sub fanout for buffering, competing consumers, delivery, and retries.

Open editable diagram

Architecture diagram

Edit this exact diagram
Amazon SQS vs SNS architecture diagram comparing a durable queue with competing workers to a push topic with multiple subscribersOpen on the canvas

Amazon SQS vs SNS architecture diagram comparing a durable queue with competing workers to a push topic with multiple subscribers. The image links to a fully editable BuildPlane starter.

Overview

Amazon SQS is a durable queue whose consumers pull messages from one backlog. Amazon SNS is a publish/subscribe topic that pushes each publication to matching subscribers. Use SQS to buffer work, absorb backpressure, and spread jobs across competing consumers. Use SNS to fan one event out to multiple independent consumers or delivery channels.

Components

  • Shared decision context: Publishes work and business notifications without waiting for downstream processing.
  • Amazon SQS Queue: Stores messages until a consumer successfully processes and deletes them. A worker pool pulls from one backlog so each message is processed by one consumer path.
  • Amazon SNS Topic: Pushes each publication to subscribed queues, functions, HTTP endpoints, email, or mobile channels. Independent consumers each receive their own copy of the notification.

Comparison Flow

  1. Order Service can enter the Amazon SQS Queue path and continue to Competing Workers.
  2. Order Service can instead enter the Amazon SNS Topic path and continue to Multiple Subscribers.
  3. Choose the path whose operating model and constraints match the workload, then delete the unused branch in the editable diagram.

Customize First

  • Choose Standard or FIFO ordering from the business requirement, not by habit.
  • Add dead-letter queues and redrive policies per independent consumer.
  • Combine SNS and SQS when fanout also needs buffering and replayable backlogs.

Side-by-side decision

Amazon SQS vs Amazon SNS

Use SQS for a durable backlog processed by competing consumers. Use SNS for push fanout to multiple subscribers. Combine SNS with one SQS queue per subscriber when you need both.

Comparison of Amazon SQS and Amazon SNS
Decision factorAmazon SQSAmazon SNS
ModelPoint-to-point queuePublish/subscribe topic
DeliveryConsumers poll or Lambda polls on their behalfSNS pushes to subscribed endpoints
CopiesOne message handled by one consumer pathEach subscriber receives a copy
BufferMessages remain until processed or expiredDirect delivery; durability depends on subscriber type and features
BackpressureQueue depth absorbs demandSubscribers receive pushes at publish pace
Typical useJobs, commands, worker poolsFanout, alerts, mobile, email, webhooks

Related AWS guides

Use these practical explanations to compare services, failure boundaries, and operating tradeoffs before adapting the architecture.

Design rationale

Decisions that shape this architecture

1

A queue owns consumer pace

SQS lets workers process at their own rate while queue depth makes backlog visible. Visibility timeouts and redrive policies turn temporary failure into retryable work instead of publisher failure.

2

A topic owns fanout

SNS makes the publisher independent from the number and type of subscribers. Subscription filters can reduce copies, but each matching subscriber still owns its own success and failure semantics.

3

Durable fanout uses both services

Subscribe one SQS queue per service to SNS. The topic creates copies and each queue buffers them independently. A slow analytics consumer no longer delays the order worker, and each team controls its own concurrency and dead-letter policy.

Before production

Operational checks

Make consumers idempotent for at-least-once delivery.

Set visibility timeout above normal processing time and redrive poison messages.

Monitor queue age, depth, subscriber delivery failures, and dead-letter queues.

Use FIFO only when ordering requirements justify throughput and design constraints.

Scope and tradeoffs

What this diagram does not solve

SNS is not a retained event log by default

Direct subscribers should be available to receive deliveries. Use SQS subscriptions, archive and replay features where applicable, or a streaming service when durable replay is a core requirement.

SQS does not broadcast one message

Multiple consumers on one queue compete for messages. Give each independent consumer its own queue, usually subscribed through SNS or EventBridge, when every consumer needs a copy.

Common questions

Frequently asked questions

Can SNS send messages to SQS?

Yes. An SNS topic can have multiple SQS queue subscriptions. This is the standard durable fanout pattern because each subscriber receives a separate buffered copy.

Does SQS push messages?

SQS is pull-based. Applications poll it, while Lambda event source mappings perform that polling and batching on the function behalf, which can make the integration appear push-based.

Which service supports retries?

Both have delivery and retry behavior, but SQS makes the backlog, visibility timeout, receive count, and dead-letter redrive central to the consumer model. SNS retry behavior varies by endpoint type.

Keep exploring

Explore the library
Amazon SNS vs EventBridge architecture diagram comparing topic fanout to subscriber queues with rule-based event-bus routing to selected targets
Getting Startedintermediate

Amazon SNS vs Amazon EventBridge

Choose SNS when a producer needs straightforward, high-throughput fanout to queues, functions, HTTP endpoints, mobile push, SMS, or email. Choose EventBridge when events need richer content matching, routing across accounts and buses, SaaS sources, schema discovery, API destinations, or controlled replay. Use both only when their responsibilities are explicit, not because two buses feel safer than one.

Explore the architecture
Amazon SQS vs Kinesis architecture diagram comparing a work queue with competing workers to an ordered retained data stream with independent processors
Getting Startedintermediate

Amazon SQS vs Amazon Kinesis Data Streams

Choose SQS for jobs, commands, and asynchronous work where one consumer path should complete each message. Choose Kinesis for telemetry, clickstreams, change records, and event histories that require per-key ordering, multiple independent processors, or replay. The choice is queue semantics versus stream semantics, not simply low throughput versus high throughput.

Explore the architecture
Event-driven order processing AWS architecture diagram with API Gateway, EventBridge, SQS, Step Functions saga, Lambda services, DynamoDB, and SNS
Event-drivenadvanced

Event-Driven Order Processing Architecture on AWS

This design accepts an order through an authenticated API, publishes a durable domain event, and uses a saga to coordinate payment, inventory, fulfillment, and notification. It separates request latency from business processing while preserving explicit recovery paths.

Explore the architecture

From reference to working draft

Adapt this architecture with your AWS AI Agent

Start from the exact diagram in this guide. Change requirements, challenge a decision, or ask what fails first, while keeping the architecture editable.

Open editable diagram