Practice
Solution
Step 1: Trace Bulkhead Manager behavior at Step 4
When the thread pool is full, queuing indefinitely (A) risks resource exhaustion. Dynamic resizing (D) breaks isolation guarantees. Forwarding to fallback (C) is a separate mechanism.Step 2: Understand bulkhead failure containment
Rejecting requests immediately (B) prevents overload and contains failure blast radius.Final Answer:
Option D -> Option DQuick Check:
Bulkhead rejects requests when resource limits reached [check]
Solution
Step 1: Identify feature retrieval requirements
Low latency and consistency for millions of users require fast, precomputed feature access.Step 2: Evaluate component suitability
A relational DB with joins (A) is too slow for real-time; batch recomputation (C) is stale; key-value store without consistency (D) risks stale or inconsistent features. Distributed in-memory feature store (B) provides fast, consistent retrieval.Final Answer:
Option B -> Option BQuick Check:
In-memory feature store -> low latency, consistent features [check]
Solution
Step 1: Understand recursive server caching role
The recursive DNS server cache reduces query latency by storing recent results. Without caching, every query requires a full resolution chain traversal.Step 2: Trace failure impact
Without cache, recursive server must synchronously query authoritative servers for every request, causing increased latency and possible timeouts, blocking user queries.Final Answer:
Option D -> Option DQuick Check:
No cache -> synchronous queries -> high latency and blocking [check]
Solution
Step 1: Identify stateful bottleneck
The saga coordinator holds per-saga state in memory, limiting horizontal scaling and sharding.Step 2: Compare other components
Message brokers scale with partitions; DB scales with sharding; relay is stateless and network-bound.Final Answer:
Option A -> Option AQuick Check:
Saga coordinator's in-memory state limits scaling first [check]
Solution
Step 1: Identify stateful bottlenecks
Chat servers maintain WebSocket connections statefully, limiting horizontal scaling.Step 2: Compare other components
Databases (A) can be sharded; brokers (C) can add partitions; load balancers (D) scale horizontally; chat servers (B) fail first due to sticky state and connection limits.Final Answer:
Option D -> Option DQuick Check:
Stateful WebSocket servers limit scaling more than other components [check]
