SAA-C03 Design Resilient Architectures Practice Question
This SAA-C03 practice question tests your understanding of design resilient architectures. Read the scenario carefully and evaluate each option against the stated constraints before committing to an answer. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
Exhibit
SQS queue attributes:
VisibilityTimeout = 30 seconds
RedrivePolicy = not configured
CloudWatch Logs:
14:02:11 worker-a received messageId=7b2c8f4a
14:02:43 worker-a started payment write for order 9912
14:03:04 worker-a message visible again before delete
14:03:11 worker-b received messageId=7b2c8f4a
14:03:18 worker-b repeated payment write for order 9912
Application note:
Average handler duration is 42-55 seconds during peak load
Based on the exhibit, the team wants to stop poison messages from consuming worker capacity and also prevent duplicate side effects if the same message is delivered more than once. Which design change best meets the requirement?
Clue words in this question
Noticing these words before you look at the options changes how you read each choice.
Clue: "best"
Why it matters: Signals that multiple options may be partially correct. Choose the option that most directly solves the exact problem described, not the one that sounds most complete.
SQS queue attributes:
VisibilityTimeout = 30 seconds
RedrivePolicy = not configured
CloudWatch Logs:
14:02:11 worker-a received messageId=7b2c8f4a
14:02:43 worker-a started payment write for order 9912
14:03:04 worker-a message visible again before delete
14:03:11 worker-b received messageId=7b2c8f4a
14:03:18 worker-b repeated payment write for order 9912
Application note:
Average handler duration is 42-55 seconds during peak load
A
Increase the SQS queue batch size so each worker processes more messages per request.
Why wrong: Larger batches do not prevent duplicates and can worsen the blast radius when a poison message appears.
B
Replace SQS with Amazon SNS and let each worker subscribe directly to the topic.
Why wrong: SNS alone does not solve duplicate processing or provide durable buffering for slow workers.
C
Configure a dead-letter queue and make the handler idempotent by storing a durable processed-message key.
A dead-letter queue isolates messages that repeatedly fail so they stop wasting worker capacity. Idempotency ensures a message processed more than once does not create duplicate side effects, which is essential when visibility timeouts expire or retries occur. Together, these controls address both poison-message handling and at-least-once delivery behavior.
D
Disable retries and shorten the visibility timeout so failed messages disappear sooner.
Why wrong: Disabling retries increases message loss risk, and a shorter timeout makes duplicate processing more likely when handlers are slow.
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Configure a dead-letter queue and make the handler idempotent by storing a durable processed-message key.
Option C is correct because a dead-letter queue isolates poison messages that repeatedly fail processing, preventing them from consuming worker capacity. Making the handler idempotent by storing a durable processed-message key (e.g., using DynamoDB or a database) ensures that even if the same message is delivered more than once, duplicate side effects are avoided. This combination directly addresses both requirements: stopping poison messages from wasting resources and preventing duplicate processing.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
✗
Increase the SQS queue batch size so each worker processes more messages per request.
Why it's wrong here
Larger batches do not prevent duplicates and can worsen the blast radius when a poison message appears.
✗
Replace SQS with Amazon SNS and let each worker subscribe directly to the topic.
Why it's wrong here
SNS alone does not solve duplicate processing or provide durable buffering for slow workers.
✓
Configure a dead-letter queue and make the handler idempotent by storing a durable processed-message key.
Why this is correct
A dead-letter queue isolates messages that repeatedly fail so they stop wasting worker capacity. Idempotency ensures a message processed more than once does not create duplicate side effects, which is essential when visibility timeouts expire or retries occur. Together, these controls address both poison-message handling and at-least-once delivery behavior.
Clue confirmation
The clue word "best" in the question point toward this answer.
Related concept
Read the scenario before looking for a memorised answer.
✗
Disable retries and shorten the visibility timeout so failed messages disappear sooner.
Why it's wrong here
Disabling retries increases message loss risk, and a shorter timeout makes duplicate processing more likely when handlers are slow.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates often think disabling retries or increasing batch size solves poison messages, but they fail to realize that only a dead-letter queue isolates problematic messages, and idempotency is required to handle duplicate deliveries inherent in SQS's at-least-once delivery model.
Detailed technical explanation
How to think about this question
Under the hood, SQS dead-letter queues (DLQs) work by moving messages after a configurable maximum receive count (e.g., 3 or 5) to a separate queue, which can be monitored and processed separately. Idempotency is typically achieved by storing a unique message identifier (e.g., a message deduplication ID or a business key) in a durable store like DynamoDB with a TTL, and checking it before processing; this prevents side effects even if SQS delivers the same message multiple times due to at-least-once delivery semantics. In a real-world scenario, a payment processing system might use a DLQ to isolate failed payment messages and an idempotency key to avoid charging a customer twice if a message is retried.
KKey Concepts to Remember
Read the scenario before looking for a memorised answer.
Find the constraint that changes the correct option.
Eliminate answers that are true in general but not in this case.
TExam Day Tips
→Watch for words such as best, first, most likely and least administrative effort.
→Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A cloud solutions architect for a retail company is evaluating services for a new workload. The correct answer here reflects best practice for the specific scenario described — not a general cloud recommendation. Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option. Cloud exam questions reward reading the constraint carefully: the same technology can be right or wrong depending on the use case.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
Design Resilient Architectures — This question tests Design Resilient Architectures — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Configure a dead-letter queue and make the handler idempotent by storing a durable processed-message key. — Option C is correct because a dead-letter queue isolates poison messages that repeatedly fail processing, preventing them from consuming worker capacity. Making the handler idempotent by storing a durable processed-message key (e.g., using DynamoDB or a database) ensures that even if the same message is delivered more than once, duplicate side effects are avoided. This combination directly addresses both requirements: stopping poison messages from wasting resources and preventing duplicate processing.
What should I do if I get this SAA-C03 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
Are there clue words in this question I should notice?
Yes — watch for: "best". Signals that multiple options may be partially correct. Choose the option that most directly solves the exact problem described, not the one that sounds most complete.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
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.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.