Practice
Solution
Step 1: Identify failure containment mechanism
Retries alone (A) can worsen cascading failures by increasing load; load balancers (C) distribute load but don't prevent failures; message queues (D) buffer but don't stop calls to failing services.Step 2: Recognize circuit breaker role
Circuit breakers (B) detect failure thresholds and open to stop calls, preventing cascading failures and allowing recovery.Final Answer:
Option A -> Option AQuick Check:
Circuit breaker stops calls after failures to prevent cascade [check]
Solution
Step 1: Understand GSLB behavior at DNS query
GSLB does not blindly return IPs (Returns the IP of the closest data center without checking health status) or forward queries (Forwards the DNS query to the local data center's DNS server for resolution). It actively checks health and latency to pick the best endpoint.Step 2: Evaluate caching behavior
Indefinite caching (Caches the previous DNS response indefinitely to reduce load) would prevent dynamic failover and load balancing.Final Answer:
Option B -> Option BQuick Check:
GSLB checks health and latency before DNS response [check]
Solution
Step 1: Evaluate centralized directory approach
Centralized directory (Use a centralized directory service to map keys to nodes) adds single point of failure and latency, increasing client complexity.Step 2: Compare consistent hashing with virtual nodes
Consistent hashing with virtual nodes and client-side caching (Use consistent hashing with virtual nodes and client-side slot caching) minimizes remapping and keeps client complexity manageable.Final Answer:
Option B -> Option BQuick Check:
Consistent hashing + virtual nodes + client caching -> minimal remap, manageable complexity [check]
Solution
Step 1: Understand retry queue role
The retry queue buffers failed webhook notifications for asynchronous retries, ensuring eventual delivery.Step 2: Consequence of missing retry queue
Without it, failed webhooks are dropped or lost, causing permanent notification loss and inconsistent merchant state.Final Answer:
Option D -> Option DQuick Check:
Missing retry queue -> permanent webhook loss on failure [check]
Solution
Step 1: Identify Zookeeper ensemble roles
Leader node serializes all writes and manages session heartbeats.Step 2: Analyze scaling impact
At 10x scale, leader node CPU and network become bottleneck due to serialized writes and session management.Step 3: Evaluate other components
Followers handle reads and watches but are less bottlenecked; storage backend is optimized for writes.Final Answer:
Option D -> Option DQuick Check:
Zookeeper leader serializes writes -> first bottleneck at scale [check]
