Courseiva

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.

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 →

How Courseiva writes practice questions · Editorial policy

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.