Distributed tracing — это когда каждый запрос получает trace ID, и каждая операция внутри сервиса создаёт span с временными метками. Spans связаны parent-child отношениями, образуя дерево вызовов. В Go используют OpenTelemetry SDK: создаёшь tracer, в начале обработки запроса startSpan, в конце endSpan. При вызове другого сервиса trace context передаётся через HTTP-заголовки (W3C Trace Context). Потом в Jaeger или Tempo видишь waterfall: какой сервис сколько времени потратил. Без трейсинга в микросервисах ты слепой.
Как трассировать запрос через микросервисы?
Middle+
346 просмотровAFK Offer AI
Что такое request ID?