Distributed Tracing System - System Architecture
High-Level Architecture
Distributed Tracing — Collection & Processing Pipeline
Core Components
Trace Collector
Responsibilities:
- Receive spans from agents
- Validate span data
- Apply sampling decisions
- Buffer and batch spans
- Forward to processingSpan Processor
Processing Pipeline:
1. Validation
2. Enrichment (add metadata)
3. Sampling decision
4. Aggregation
5. Storage writeStorage Layer
Options:
- Cassandra: High write throughput
- Elasticsearch: Rich query capabilities
- ClickHouse: Fast analytics
Chosen: Cassandra + Elasticsearch
- Cassandra for raw spans
- Elasticsearch for queriesThis architecture provides scalable, low-latency distributed tracing.