Practice
Solution
Step 1: Identify Kafka's role in ingestion
Kafka supports high-throughput ingestion with partitioning by user session ID, ensuring ordering per session and durability via log storage.Step 2: Eliminate alternatives
Relational DB batch inserts can't handle 1M events/sec with ordering guarantees; Redis Pub/Sub lacks durability and ordering guarantees; HTTP with in-memory queueing risks data loss and no ordering guarantees.Final Answer:
Option C -> Option CQuick Check:
Kafka partitions keyed by session ensure ordering and durability [check]
Solution
Step 1: Identify fallback routing requirements
The fallback must be reliable and decoupled from real-time intent classification to avoid blocking user queries.Step 2: Evaluate component suitability
A message queue decouples processing, enabling asynchronous fallback handling and retry mechanisms. Relational DB synchronous writes (A) cause latency. REST API direct calls (C) block the main flow. In-memory cache (D) lacks durability and reliability.Final Answer:
Option D -> Option DQuick Check:
Message queue decouples and buffers fallback reliably [check]
Solution
Step 1: Trace Write Coordinator behavior at Step 4
When partitioned and latency prioritized, writes commit locally without waiting for replicas.Step 2: Understand asynchronous replication impact
Local commit allows low latency; replication happens later, risking temporary inconsistency.Final Answer:
Option C -> Option CQuick Check:
Local commit + async replication -> low latency under partition [check]
Solution
Step 1: Evaluate synchronous retries (A)
Retries increase latency and risk cascading failures, bad for mobile responsiveness.Step 2: Compare asynchronous queue (C) and caching (D)
Queues add delay and complexity; caching avoids calls but may serve stale data, not ideal for dynamic data.Step 3: Circuit breaker with short timeout and fallback (B)
Provides quick failure detection, prevents cascading failures, and returns fallback to maintain responsiveness.Final Answer:
Option C -> Option CQuick Check:
Circuit breaker with fallback balances isolation and responsiveness [check]
Solution
Step 1: Understand failure impact on error budget updates
If aggregation service fails partially, inconsistent error counts across nodes cause alerting to behave erratically.Step 2: Eliminate other failure modes
Resetting to zero (A) is unlikely without explicit reset; no alerts (B) implies total failure, not partial inconsistency; delayed alerts (D) imply buffering, not aggregation failure.Final Answer:
Option A -> Option AQuick Check:
Aggregation failure -> inconsistent counts -> random alert triggers [check]
