Practice
Solution
Step 1: Understand Feed Generator error handling
Discarding (A) loses data silently; pausing and retrying (B) blocks the pipeline indefinitely; crashing (D) causes system downtime.Step 2: Dead-letter queue usage
Sending malformed messages to a dead-letter queue (C) isolates bad data for manual or automated inspection without blocking the main pipeline.Final Answer:
Option A -> Option AQuick Check:
Dead-letter queue isolates bad messages without blocking processing [check]
Solution
Step 1: Trace offset commit role at Step 4
Offset commit marks messages as processed; if not committed, Kafka considers them unprocessed.Step 2: Understand crash impact
If consumer crashes before commit, on restart it reprocesses messages from last committed offset, causing duplicates.Final Answer:
Option A -> Option AQuick Check:
Uncommitted offsets cause message reprocessing [check]
Solution
Step 1: Trace failure impact on booking flow
Loss of connectivity prevents immediate calendar update, risking inconsistency.Step 2: Analyze failure handling
Immediate confirmation without calendar update (A) risks double bookings; timeout with error (B) hurts UX; automatic retry without delay (D) is unrealistic under network failure. Local queuing (C) allows eventual consistency with delayed confirmation.Final Answer:
Option A -> Option AQuick Check:
Local queuing delays confirmation but prevents data loss [check]
Solution
Step 1: Understand centralized auto-increment role
It guarantees unique, sequential IDs for new records.Step 2: Trace failure impact
If it crashes and restarts without persisting last ID, it may reset counters causing duplicate IDs, leading to data corruption.Final Answer:
Option D -> Option DQuick Check:
Crash without persistence -> duplicate IDs and corruption [check]
Solution
Step 1: Analyze component scaling challenges
Centralized Trace Storage must index and store exponentially more spans at 10x scale, stressing storage I/O and query performance.Step 2: Evaluate other components
Trace Collector is often horizontally scalable and asynchronous, reducing CPU bottleneck risk. Instrumentation overhead is minimal per request. Trace headers increase size but not enough to cause packet loss at scale.Final Answer:
Option B -> Option BQuick Check:
Storage I/O overwhelmed first at 10x scale [check]
