Courseiva

KCNA Cloud Native Application Delivery Practice Question

A microservice application is experiencing high latency during traffic spikes. The team identifies that the database connection pool is exhausted. They want to implement a pattern that helps decouple the microservice from direct database connections and smooth out traffic bursts. Which design pattern should they apply?

⚠ Common exam trap

CNCF often tests the distinction between patterns that handle failures (Circuit Breaker, Retry) versus patterns that manage load (Queue-based Load Leveling), and the trap here is that candidates confuse 'smoothing traffic bursts' with 'preventing repeated failures,' leading them to pick the Circuit Breaker or Retry pattern incorrectly.

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

✓

Queue-based Load Leveling pattern

The Queue-based Load Leveling pattern uses a message queue (e.g., RabbitMQ, Amazon SQS) as a buffer between the microservice and the database. When traffic spikes occur, requests are queued and processed at a manageable rate, preventing the database connection pool from being exhausted. This decouples the service from direct database connections and smooths out bursts, directly addressing the latency issue.

Answer analysis

Option-by-option breakdown

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

  • ✗

    Bulkhead pattern

    Why it's wrong here

    Bulkhead isolates failures by partitioning resources such as thread pools per dependency, so one saturated pool cannot exhaust others; it does not decouple callers from the database or buffer bursts. Bulkhead suits limiting blast radius across independent downstream services.

  • ✗

    Circuit Breaker pattern

    Why it's wrong here

    Circuit Breaker stops calls after a failure threshold, preventing repeated attempts, but it does not decouple the microservice from direct database connections or absorb traffic bursts. Circuit Breaker suits halting calls to a failing dependency to allow recovery.

  • ✓

    Queue-based Load Leveling pattern

    Why this is correct

    Queue-based Load Leveling inserts a queue between the microservice and database, letting producers enqueue requests while consumers drain them at a controlled rate. This decouples direct database connections and absorbs traffic bursts, preventing connection pool exhaustion.

  • ✗

    Retry pattern

    Why it's wrong here

    The retry pattern re-issues failed requests, so it cannot decouple the service from database connections or absorb bursts; repeated attempts would worsen pool exhaustion during spikes. It is tempting because retries genuinely help with transient, intermittent faults such as brief network blips or momentary timeouts, where a single repeated call succeeds.

About these practice questions

One of 930 original KCNA 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 →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This KCNA practice question is part of Courseiva's free CNCF 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 KCNA exam.