advanced
Distributed tracing
Propagate trace context across services, чтобы latency, errors, retries и fan-out paths диагностировались from one request.
Tracing следует за одним request через сервисы по trace и span IDs в headers (W3C trace context). Каждый span фиксирует timing, service name и errors — fan-out, retry duplication и slow hops в одном waterfall.
Компромисс: overhead instrumentation и storage против mean time to diagnose cross-service incidents.
На интервью: parent-child spans; как retries видны в traces; sampling при высоком QPS.
Типовые ошибки: broken context на async boundaries; нет spans у message consumers; 100% sampling в production.
Чеклист:
- Trace context на HTTP, gRPC и messages.
- Имена spans по операциям, не только class names.
- Связывайте logs и metrics с trace IDs.
- Adaptive sampling под нагрузкой.