DOP-C02 Resilient Cloud Solutions Practice Question
A company runs a microservices architecture on Amazon ECS. They want to ensure that if a service fails, it does not cascade to other services. Which TWO design patterns should they implement?
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
✓
Circuit breaker pattern
Circuit breaker prevents cascading failures, and bulkheads isolate failures to specific services.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Cache-aside pattern
Why it's wrong here
Cache-aside pattern (also known as lazy loading) improves read throughput by having the application first check a cache, then fall back to the underlying data store on a miss, and populate the cache on reads or writes. While it reduces database pressure and latency, it provides no failure detection or isolation for a downstream service; a failing dependency still sees calls proceed unabated, so it does nothing to prevent cascading failures.
- ✗
Saga pattern
Why it's wrong here
Saga pattern coordinates distributed transactions across multiple services by breaking them into local transactions with compensating actions, ensuring eventual consistency without a distributed transaction manager. It addresses data consistency and atomicity concerns, but it is not a resilience pattern for failure isolation; it does not stop or limit calls to a failing service, so it cannot prevent the failure from propagating to other components.
- ✓
Circuit breaker pattern
Why this is correct
Circuit breaker pattern monitors calls to a remote service and maintains three states—closed, open, and half-open—progressing to open when failure thresholds are exceeded, at which point subsequent calls fail fast without attempting the network operation. This prevents a failing service from being overwhelmed and stops the same repeated errors from saturating caller resources, thereby breaking the chain of cascading failures and giving the dependency time to recover.
- ✗
Throttling pattern
Why it's wrong here
Throttling pattern (or rate limiting) intentionally caps the number of requests or concurrent operations a service can handle, often using queues to smooth bursts and protect the service from overload. However, throttling applies limits uniformly regardless of a dependency's health; it reduces load but does not distinguish a failing upstream service or divert traffic away from it, so it doesn't prevent cascading failures in a microservices mesh.
- ✓
Bulkhead pattern
Why this is correct
Bulkhead pattern isolates each downstream dependency or service into its own thread pool, connection pool, or other resource partition, based on the ship-building design of watertight compartments. If one service exhausts or fails its pool, other pools remain unaffected, limiting the blast radius of the failure; this is a form of resource-level fault containment that complements circuit breakers.
Go deeper
Related to this question
About these practice questions
One of 1,013 original DOP-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 DOP-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 DOP-C02 exam.