Courseiva

SAA-C03 Design Resilient Architectures Practice Question

An orders service currently sends HTTP requests directly to two downstream services (inventory and shipping). During peak load, inventory slows down, causing the orders service to slow as well. The team wants the orders service to remain responsive even when a downstream service is temporarily slow or restarted. Which design change best achieves this resiliency goal?

⚠ Common exam trap

Test-takers frequently think parallelizing calls (Option D) or increasing timeouts (Option A) solves the problem, but they fail to recognize that true resiliency requires decoupling via asynchronous messaging, not just concurrency or tolerance of delays.

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

✓

Introduce Amazon SQS as a buffer between orders and downstream services, with consumers processing from the queue.

Introducing Amazon SQS as a buffer decouples the orders service from the downstream inventory and shipping services. The orders service can immediately enqueue messages and respond to the client, while downstream consumers process messages at their own pace. This prevents backpressure from a slow or restarting downstream service from blocking the orders service, achieving the desired resiliency.

Answer analysis

Option-by-option breakdown

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

  • ✗

    Keep HTTP calls but add longer client timeouts so orders requests wait for slow downstream responses.

    Why it's wrong here

    Adding longer client timeouts does not reduce the orders service's dependency on slow downstream services; it only increases how long the orders service will wait. While waiting, the orders service occupies a worker thread and an outbound HTTP connection from its connection pool, both of which are finite resources. Under sustained slow or failed inventory/shipping responses, this can exhaust those pools, causing new order requests to be rejected or queued. It also means callers of the orders API still experience high latency during an outage, rather than receiving a fast success with the work decoupled.

  • ✓

    Introduce Amazon SQS as a buffer between orders and downstream services, with consumers processing from the queue.

    Why this is correct

    SQS decouples the producer (orders service) from the consumers (inventory/shipping processors). The orders service can quickly enqueue work and return to the caller, even if a downstream service is slow or restarted. Messages remain in the queue until consumers can process them, preventing cascading latency/backpressure from propagating to the orders API.

  • ✗

    Replace the downstream services with AWS Lambda functions that are invoked synchronously by the orders service.

    Why it's wrong here

    Synchronously invoking AWS Lambda from the orders service preserves the exact same request/response coupling as the original HTTP calls. The orders service must block until the Lambda returns, so any latency or throttling in the inventory or shipping function directly increases the order API's response time. Lambda concurrency limits and cold starts add additional variability and failure modes, and there is no buffer to absorb downstream outages or bursts. This approach would need custom retry logic and still cannot prevent cascading failures during high load.

  • ✗

    Call the downstream services in parallel threads to reduce waiting time during peak load.

    Why it's wrong here

    Parallel calls may reduce response time briefly, but it does not eliminate the coupling to downstream availability/latency. If inventory is slow, parallelism still consumes resources and can degrade overall responsiveness under sustained load or failures.

About these practice questions

This SAA-C03 question is part of Courseiva's 935-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. 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.