Courseiva
Design Resilient ArchitecturesmediumMultiple ChoiceObjective-mapped

SAA-C03 Design Resilient Architectures Practice Question

An events service publishes critical notifications using Amazon SNS. Three independent downstream systems (A, B, and C) subscribe to the topic. Downstream system B sometimes fails to process certain messages (for example, it times out or returns an error while handling the message), and you want: 1) failures in B to be isolated so A and C keep processing unaffected, and 2) messages that B cannot successfully process after retries to be sent to a DLQ for B. Which design best meets these requirements?

⚠ Common exam trap

It's easy for candidates to assume a single DLQ at the SNS topic level is sufficient, but SNS DLQs only apply to the SNS delivery failure (e.g., HTTP endpoint unreachable), not to downstream processing failures after the message is delivered to SQS.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

For each downstream system, create its own SQS queue, subscribe each SQS queue to the SNS topic, and configure a redrive policy with a DLQ for each SQS queue.

It creates a dedicated SQS queue for each downstream system, which isolates failures: if system B fails, its SQS queue will accumulate messages while systems A and C continue processing from their own queues. Each SQS queue can have a redrive policy that moves messages to a per-queue DLQ after the configured maximum retries are exhausted, satisfying the requirement for a B-specific DLQ without affecting the other subscribers.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Subscribe each downstream directly with HTTPS endpoints and configure a single SNS dead-letter queue (DLQ) for the topic.

    Why it's wrong here

    SNS topic-level DLQs are primarily for failed message delivery to the subscription endpoint (for example, publish/HTTP delivery failures). If the downstream receives the message successfully but later fails application processing, SNS may not detect it, so you cannot reliably isolate per-consumer processing failures and route them to a per-consumer DLQ.

  • For each downstream system, create its own SQS queue, subscribe each SQS queue to the SNS topic, and configure a redrive policy with a DLQ for each SQS queue.

    Why this is correct

    SNS delivers the message independently to each subscribed SQS queue. If downstream B fails to process a message, B can avoid deleting it from its own queue; after visibility timeout and retry attempts, SQS redrives messages to B’s DLQ. A and C are isolated because they have separate queues and DLQs, so B’s failures do not prevent deliveries to A and C.

  • Use one shared SQS queue for all three downstream systems and configure a single DLQ only when all three downstream systems fail.

    Why it's wrong here

    A shared queue couples the workloads: if B cannot process messages, the queue backlog and retry behavior can affect how messages are consumed by A and C. Also, SQS DLQ redrive is based on per-message retry attempts, not on whether “all three downstream systems” succeeded or failed for that message.

  • Use EventBridge rules to invoke A, B, and C synchronously with retries enabled, and send failures to a common DLQ.

    Why it's wrong here

    Synchronous invocation increases coupling and does not provide the same per-subscriber processing isolation pattern as SNS-to-per-subscriber SQS queues with SQS redrive policies. EventBridge retries and DLQs are not a direct substitute for per-consumer SQS DLQs driven by consumer processing failures.

About these practice questions

One of 302 original SAA-C03 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.