Design a Distributed Tracing System — System Design Interview Practice
Design a system to trace requests across microservices for debugging and performance monitoring. Work through the requirements, architecture trade-offs, and an interactive design review.
Requirements and concepts to consider
- Trace requests across distributed servicesRequirement
- Capture timing and latency informationRequirement
- Visualize service dependenciesRequirement
- Support trace samplingRequirement
- Store and query trace dataRequirement
- Identify performance bottlenecksRequirement
- Handle billions of spans per dayRequirement
- Integration with different frameworksRequirement
- tracingConcept to explore
- observabilityConcept to explore
- microservicesConcept to explore
- performanceConcept to explore
- debuggingConcept to explore