Designing highly scalable, available, and reliable cloud-native applications →mediumMultiple ChoiceObjective-mapped
PCD Practice Question: Designing highly scalable, available, and reliable cloud-native applications
A team is migrating a monolithic application to a microservices architecture on Google Kubernetes Engine (GKE). They want to ensure that failures in one microservice do not cascade to others. Which design pattern should they implement?
⚠ Common exam trap
The PCD exam often tests the distinction between patterns that isolate failures within a component (bulkheads) versus patterns that prevent failures from propagating across components (circuit breaker), leading candidates to confuse the scope of each pattern.
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 a circuit breaker pattern that opens when failure thresholds are exceeded.
The circuit breaker pattern is the correct choice because it prevents cascading failures by monitoring inter-service calls and opening the circuit when failures exceed a threshold, allowing the system to fail fast and recover gracefully. In a GKE-based microservices architecture, this pattern is typically implemented using libraries like Resilience4j or Istio's circuit breaker, which can be configured to trip after a certain number of consecutive failures, thus protecting downstream services from being overwhelmed.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Implement retry logic with exponential backoff for all inter-service calls.
Why it's wrong here
Retries can exacerbate failures if the downstream service is overloaded.
- ✓
Implement a circuit breaker pattern that opens when failure thresholds are exceeded.
Why this is correct
Circuit breaker fails fast and prevents unnecessary load on failing services.
- ✗
Use synchronous HTTP calls with timeouts to detect failures quickly.
Why it's wrong here
Synchronous calls can still cascade failures if not combined with circuit breakers.
- ✗
Use bulkheads to separate thread pools for each service.
Why it's wrong here
Bulkheads limit resource contention but do not prevent cascading failures.
Go deeper
Related to this question
About these practice questions
Courseiva writes every PCD question from scratch — 964 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This PCD practice question is part of Courseiva's free Google Cloud 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 PCD exam.