SAP-C02 Design for New Solutions Practice Question
A company is building a new microservices-based application on AWS using Amazon ECS with Fargate. The application has a frontend service, an order service, and a payment service. Services communicate synchronously via REST APIs. The company expects variable traffic and wants to ensure that failures in one service do not cascade to others. Which solution should a Solutions Architect recommend?
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
✓
Implement retry logic with exponential backoff, circuit breakers, and timeouts in each service's client code.
Implementing retry logic with exponential backoff, circuit breakers, and timeouts is the standard pattern to handle transient faults and prevent cascading failures in synchronous microservices communication. Circuit breakers stop calls to a failing service, allowing it to recover, while retries with backoff avoid overwhelming the service. Option A is wrong because API Gateway throttling only protects API Gateway itself, not cascading failures between internal services. Option C is wrong because converting to asynchronous messaging is an architectural change that may not be suitable for synchronous REST APIs and does not directly address failure cascading without additional patterns. Option D is wrong because deploying multiple instances across AZs improves availability but does not protect against failures within a single service instance; it does not prevent cascading failures.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use Amazon API Gateway in front of each service to throttle requests and protect against traffic spikes.
Why it's wrong here
API Gateway helps with throttling but does not prevent cascading failures due to service dependencies.
- ✓
Implement retry logic with exponential backoff, circuit breakers, and timeouts in each service's client code.
Why this is correct
Circuit breakers and retries isolate failures and prevent cascading, a standard resilience pattern.
- ✗
Convert all inter-service communication to asynchronous messaging using Amazon SQS or SNS.
Why it's wrong here
Asynchronous communication can decouple services but requires significant changes; not always appropriate for synchronous interactions.
- ✗
Deploy multiple instances of each service across multiple Availability Zones and use an Application Load Balancer.
Why it's wrong here
High availability is good but does not prevent cascading failures; a failing service still fails.
Visual reference
Go deeper
Related to this question
About these practice questions
One of 1,660 original SAP-C02 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 →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SAP-C02 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 SAP-C02 exam.