Bird
0
0

You want to design a distributed tracing system for a microservices architecture with 100 services and high request volume. Which approach best ensures scalability and minimal overhead?

hard📝 Trade-off Q15 of 15
Microservices - Monitoring and Observability
You want to design a distributed tracing system for a microservices architecture with 100 services and high request volume. Which approach best ensures scalability and minimal overhead?
ATrace every request fully and store all spans in a single central database
BUse sampling to trace only a subset of requests and propagate trace context with lightweight headers
CDisable trace context propagation and log spans locally in each service
DUse synchronous calls to the tracing backend for every span creation
Step-by-Step Solution
Solution:
  1. Step 1: Consider scalability needs

    Tracing every request fully in a large system causes high overhead and storage issues.
  2. Step 2: Identify best practice for high volume tracing

    Sampling reduces load by tracing only some requests, and lightweight headers keep propagation efficient.
  3. Step 3: Eliminate poor options

    Disabling propagation loses trace linkage; synchronous calls add latency; central DB can bottleneck.
  4. Final Answer:

    Use sampling to trace only a subset of requests and propagate trace context with lightweight headers -> Option B
  5. Quick Check:

    Sampling + lightweight headers = scalable tracing [OK]
Quick Trick: Sampling + lightweight headers = scalable tracing [OK]
Common Mistakes:
MISTAKES
  • Tracing all requests causing overhead
  • Ignoring trace context propagation
  • Using synchronous calls causing latency

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Microservices Quizzes