SQS, SNS, and EventBridge are often listed together, but they solve different communication problems. A good design starts with the relationship between producer and consumer.
SQS is a durable work buffer
Amazon SQS stores messages until a consumer receives and deletes them. It decouples the rate at which work arrives from the rate at which workers process it. That makes SQS ideal for background jobs, burst absorption, and protecting a downstream service from overload.
Standard queues favor scale and at-least-once delivery, so consumers must be idempotent. FIFO queues add ordering and deduplication features within their documented limits. Visibility timeout, retention, redrive policy, and dead-letter queue settings are part of application correctness.
SNS is push-based fanout
Amazon SNS publishes a message to one or more subscribers. Those subscribers can include SQS queues, Lambda functions, HTTP endpoints, email, and other targets. It is useful when one event should immediately fan out to several independent destinations.
For resilient application processing, SNS to SQS is a common pair. SNS fans out, while each subscriber queue controls its own backlog and retry pace. Direct delivery to an HTTP endpoint has a different failure and backpressure story.
EventBridge is an event router
Amazon EventBridge receives events and matches them against rules based on event structure. It integrates with AWS services, custom applications, and SaaS sources. It is a good fit for domain events such as OrderPlaced, account-level service events, and integrations where producers should not know every consumer.
EventBridge also offers archives, replay, schemas, pipes, and scheduling capabilities. It is not a general replacement for every queue. If a worker needs to pull from a durable backlog at its own pace, SQS still expresses that requirement clearly.
Common combinations
- SQS only: one worker pool processes a durable backlog.
- SNS to several SQS queues: one notification fans out to independent durable consumers.
- EventBridge to SQS: semantic routing selects a consumer, then a queue absorbs bursts and retries.
- EventBridge to Step Functions: a domain event starts a coordinated workflow.
The event-driven order processing architecture combines routing, queueing, compute, and downstream outcomes. The secure file upload pipeline shows S3 events feeding a controlled asynchronous security process.
Design the unhappy path first
For every event, answer these questions:
- Can it be delivered more than once?
- Can it arrive out of order?
- How long can it wait?
- What makes processing idempotent?
- When does a retry become a dead-letter event?
- Who owns replay and reconciliation?
- How does an operator know business work is stuck?
Messaging services make distributed work possible. They do not make distributed failure disappear. The architecture becomes reliable when duplicates, delay, poison messages, and partial success are treated as normal states.



