Как работает distributed tracing через несколько Java сервисов?

Senior
279 просмотров
AFK Offer AI

Сервис A получает запрос → создаёт trace ID + root span, кладёт в MDC, передаёт в исходящих заголовках (traceparent в W3C формате). Сервис B получает запрос → извлекает trace ID, создаёт child span. Каждый сервис отправляет spans в Zipkin/Jaeger. В Spring Boot: Micrometer Tracing автоматически инструментирует RestTemplate, WebClient, @Async, Feign, Kafka consumer/producer. Нужно только добавить micrometer-tracing-bridge-brave и zipkin reporter.

Следующий вопрос

Что такое CQRS и как его реализовать в Spring?