Back to Blog

Decoupling on AWS for the SAA-C03 Exam: SQS, SNS & EventBridge (2026)

Master decoupled, event-driven architectures for the AWS Solutions Architect Associate exam. When to use SQS vs SNS vs EventBridge, fan-out patterns, DLQs, FIFO vs Standard, and the scenario clues that point to each service.

By Sailor Team , June 6, 2026

If you’ve started practicing SAA-C03 questions, you’ve already noticed a pattern: a huge share of the “Design Resilient Architectures” domain comes down to one idea — decoupling. Two components that talk to each other directly are fragile; if one is slow or down, the other fails. AWS gives you a small family of messaging services to break that tight coupling, and the exam tests whether you can pick the right one from a scenario.

This guide covers the three services you’ll see constantly — Amazon SQS, Amazon SNS, and Amazon EventBridge — plus the patterns that combine them. By the end you’ll be able to read a question, spot the decision-driving keywords, and choose confidently.

New to the exam itself? Start with the AWS Solutions Architect Associate Guide 2026 and the exam domains strategy, then use this article to go deep on the messaging services.

Why Decoupling Matters on the Exam

Tightly coupled systems share a failure mode: a spike or an outage in one component cascades into the others. Decoupling inserts a buffer or a broker between components so they can scale, fail, and recover independently. On the SAA-C03 exam, watch for these phrases — they almost always signal a decoupling answer:

  • “decouple the components”
  • “handle sudden spikes in traffic”
  • “process orders asynchronously”
  • “must not lose messages if the consumer is down”
  • “notify multiple systems when an event occurs”

The three services map to three different communication shapes:

ServiceShapeOne-line mental model
SQSQueue (1 producer → 1 consumer group)A buffer that holds work until something pulls it
SNSPub/Sub (1 publisher → many subscribers)A megaphone that pushes to everyone subscribed
EventBridgeEvent bus + routingA smart router that filters events to targets by rules

Get those three mental models solid and most questions answer themselves.

Amazon SQS: The Buffer

Simple Queue Service is a fully managed message queue. A producer sends messages in; consumers poll to pull them out. The queue absorbs bursts so consumers can process at their own pace — the canonical “smooth out spiky traffic” answer.

Standard vs FIFO queues

This distinction is a guaranteed exam topic:

PropertyStandardFIFO
OrderingBest-effortStrict, guaranteed order
DeliveryAt-least-once (possible duplicates)Exactly-once processing
ThroughputNearly unlimited300 msg/s (3,000 with batching) per group
Use whenMaximum throughput, order doesn’t matterOrder matters, no duplicates (e.g. financial transactions)

Scenario clue: if a question says “order of operations must be preserved” or “payments must not be processed twice,” the answer is FIFO. If it stresses massive scale and order doesn’t matter, it’s Standard.

Visibility timeout and dead-letter queues

Two SQS concepts show up repeatedly:

Visibility timeout — when a consumer picks up a message, SQS hides it from other consumers for a set period. If the consumer finishes and deletes the message, it’s gone. If it crashes before deleting, the message reappears after the timeout and another consumer retries it. Set it slightly longer than your worst-case processing time.

Dead-letter queue (DLQ) — after a message fails processing maxReceiveCount times, SQS moves it to a separate DLQ instead of retrying forever. This is the answer whenever a question asks how to isolate and inspect messages that repeatedly fail.

# Create a queue and send a message (CLI)
aws sqs create-queue --queue-name orders

aws sqs send-message \
  --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/orders \
  --message-body '{"orderId":"A-1001","amount":42.00}'

# Consumer polls (long polling reduces empty receives + cost)
aws sqs receive-message \
  --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/orders \
  --wait-time-seconds 20 \
  --max-number-of-messages 10

Cost/efficiency clue: “reduce the number of empty API calls” or “reduce cost of polling” → enable long polling (--wait-time-seconds 20).

The classic SQS decoupling pattern

A web tier writes orders to a queue; a fleet of workers (often behind an Auto Scaling group) pulls and processes them. If orders spike, the queue grows; you scale workers on queue depth (the ApproximateNumberOfMessagesVisible CloudWatch metric). The web tier never blocks, and nothing is lost if workers fall behind.

[ Web Tier ] --> [ SQS Queue ] --> [ Auto Scaling Worker Fleet ]
                       |
                  (scale workers on queue depth)

Amazon SNS: The Fan-Out

Simple Notification Service is publish/subscribe. A publisher sends one message to a topic, and SNS pushes a copy to every subscriber — Lambda functions, SQS queues, HTTP endpoints, email, or SMS. The keyword is push, and the pattern is fan-out: one event, many parallel reactions.

Scenario clue: “notify multiple systems,” “send to several endpoints at once,” or “one event must trigger several independent processes” → SNS.

The SNS + SQS fan-out pattern (memorize this)

The single most tested integration pattern on SAA-C03 is SNS fanning out to multiple SQS queues. A publisher sends one message to an SNS topic; the topic delivers a copy to several subscribed SQS queues; each queue feeds a different downstream service that processes at its own pace.

                         ┌──> [ SQS: inventory ] --> inventory service
[ Order API ] --> [ SNS topic ] ──> [ SQS: billing ]   --> billing service
                         └──> [ SQS: analytics ] --> analytics service

Why this beats SNS pushing directly to each service:

  • Each queue buffers independently — a slow analytics service doesn’t slow billing.
  • If a consumer is down, its queue retains the message (durability) instead of dropping it.
  • Each consumer gets its own DLQ for failures.

If a question describes one event that must reliably reach several decoupled, independently-scaling consumers, this is almost always the intended answer.

Standard vs FIFO topics and message filtering

SNS also offers FIFO topics (which must pair with FIFO queues) for ordered fan-out. And message filtering lets each subscription receive only the messages matching a filter policy — so a single topic can serve many subscribers who each care about different event types, without a separate topic per type.

Amazon EventBridge: The Smart Router

EventBridge (formerly CloudWatch Events) is an event bus that routes events to targets based on rules that match the event content. It overlaps with SNS — both do pub/sub-style delivery — but EventBridge adds capabilities SNS lacks.

When EventBridge wins over SNS

NeedChoose
Simple, high-throughput fan-out to SQS/Lambda/emailSNS
Route based on event content with rich filteringEventBridge
Ingest events from AWS services or SaaS partnersEventBridge
Schedule events (cron-like)EventBridge Scheduler
Archive and replay past eventsEventBridge
Transform the event payload before deliveryEventBridge

Scenario clues for EventBridge: “react to AWS service events” (e.g. an EC2 state change, an S3 upload via CloudTrail), “integrate with a third-party SaaS,” “route based on the event’s content,” or “run on a schedule.”

A rule that routes by content

{
  "source": ["aws.ec2"],
  "detail-type": ["EC2 Instance State-change Notification"],
  "detail": {
    "state": ["stopped", "terminated"]
  }
}

This rule matches only EC2 stop/terminate events and forwards them to a target — say, a Lambda that updates a CMDB or an SNS topic that pages an on-call engineer. SNS alone can’t inspect and route on the event body like this.

EventBridge Scheduler vs cron on a server

If a scenario needs a task to run on a schedule (nightly report, hourly cleanup) without managing a server, EventBridge Scheduler triggering a Lambda is the serverless answer — no EC2 instance running cron, no patching, pay only when it fires.

Choosing the Right Service: A Decision Guide

When you read a messaging question, walk this short decision tree:

  1. One sender, one logical consumer group, needs a buffer for spikes or retries?SQS.
  2. One event must reach many subscribers at once (fan-out)?SNS (and usually SNS → SQS for durability per consumer).
  3. Need content-based routing, AWS/SaaS event sources, scheduling, or replay?EventBridge.
  4. Need ordering / no duplicates?FIFO (SQS FIFO, or SNS FIFO + SQS FIFO).
  5. Failed messages must be isolated for inspection?Dead-letter queue.

Side-by-side summary

Question keywordLikely answer
”decouple,” “buffer,” “spiky traffic”SQS
”process must not be lost if consumer is down”SQS (or SNS→SQS)
“order must be preserved,” “no duplicates”SQS FIFO
”notify several systems,” “fan out”SNS
”one event, many independent consumers, durable”SNS → SQS fan-out
”route based on event content”EventBridge
”react to an AWS service event”EventBridge
”run on a schedule, serverless”EventBridge Scheduler
”messages failing repeatedly”Dead-letter queue

Common Exam Traps

  • SNS does not store messages durably for offline consumers. If a subscriber is down when SNS pushes, that delivery can be lost. That’s why the SNS→SQS pattern exists. Don’t pick “SNS direct to Lambda” when the question stresses durability.
  • SQS is pull, not push. If a question says messages must be pushed to consumers, SQS alone isn’t it.
  • EventBridge ≠ a queue. It routes and filters; it doesn’t buffer work for a polling fleet the way SQS does. Need a buffer? That’s SQS.
  • Kinesis is a different animal. If a scenario mentions real-time streaming analytics, ordered replay of a high-volume data stream, or multiple consumers reading the same stream at different positions, think Kinesis Data Streams, not SQS/SNS.

Practice With Realistic Scenario Questions

Decoupling questions are won by pattern recognition — and pattern recognition comes from doing dozens of scenario questions until the keywords trigger the right answer automatically. Reading about SNS→SQS fan-out once is not the same as having answered fifteen variations of it.

Sailor.sh’s AWS Certified Solutions Architect – Associate (SAA-C03) Mock Exam Bundle gives you exam-realistic, scenario-based questions across exactly these decoupling patterns, with detailed explanations of why each option is right or wrong — which is where the real learning happens. It’s built to mirror the SAA-C03 format and difficulty so exam day feels familiar.

Combine it with focused study using the AWS Solutions Architect study plan, and round out your service knowledge with the deep dives on IAM for SAA-C03, S3, and the Well-Architected Framework.

Frequently Asked Questions

What’s the difference between SQS and SNS in one sentence?

SQS is a pull-based queue where one consumer group processes buffered messages; SNS is a push-based pub/sub topic that delivers each message to many subscribers at once.

When should I use EventBridge instead of SNS?

Use EventBridge when you need content-based routing (match on the event body), events from AWS services or SaaS partners, scheduling, payload transformation, or archive-and-replay. Use SNS for simple, high-throughput fan-out to many subscribers.

Why combine SNS with SQS instead of using SNS alone?

SNS delivery to an offline subscriber can be lost. Putting an SQS queue between SNS and each consumer makes delivery durable — the queue holds the message until the consumer is healthy — and gives each consumer independent scaling and its own dead-letter queue.

When do I need a FIFO queue?

When message order must be preserved and duplicates are unacceptable — financial transactions, inventory adjustments, anything where “process exactly once, in order” matters. FIFO trades some throughput for these guarantees.

Is SQS or Kinesis the right answer for streaming data?

For decoupling discrete units of work, use SQS. For real-time streaming, ordered replay, or multiple consumers reading the same high-volume stream independently, use Kinesis Data Streams. The exam distinguishes these deliberately.

Conclusion

Decoupling is the backbone of resilient AWS architecture, and SQS, SNS, and EventBridge are the tools the SAA-C03 exam expects you to wield. Lock in the three mental models — SQS is a buffer, SNS is a megaphone, EventBridge is a smart router — then learn the SNS→SQS fan-out pattern cold, because it appears more than any other.

Once the keyword-to-service mapping is automatic, these questions go from intimidating to free points. Practice enough realistic scenarios that you recognize the shape of the problem before you’ve finished reading the question — that’s what a prepared Solutions Architect does, on the exam and in the real world.

Limited Time Offer: Get 80% off all Mock Exam Bundles | Sale ends in 7 days. Start learning today.

Claim Now