我有几个Sping Boot 应用程序,其中一个使用Spring Boot 3,其他的使用Spring Boot 2。我需要在它们之间以及它们和Kafka之间实现请求跟踪。然而,我还没有找到任何关于如何在一个应用程序上通过Spring Cloud Sleuth集成跟踪和在另一个应用程序上集成Micrometer-tracing的信息。是否有任何方法可以在使用千分尺跟踪的应用程序中检索由Sleuth生成的跟踪ID?
我尝试在应用程序中连接sleuth和micrometer-tracing,并向spring Boot 2应用程序发送http请求,该应用程序向读取spring boot 3应用程序的Kafka发送消息,但traceId仅显示在spring boot 2应用程序中
2条答案
按热度按时间2ic8powd1#
嘿,我们在wiki页面中描述了如何从 Boot 2.7迁移到Boot 3.0(https://github.com/micrometer-metrics/tracing/wiki/Spring-Cloud-Sleuth-3.1-Migration-Guide)。您应该在 Boot 2.7端提供2种传播类型(W3C,B3),Boot 3.0将自动选择W3C传播类型。
由于 Boot 3.0不允许连接的span并将跟踪id设置为128位,因此在Sleuth端设置相同的配置。
41zrol4v2#
Sleuth和千分尺跟踪都支持B3和W3C传播格式。默认情况下,Sleuth使用B3, Boot 3将千分尺跟踪配置为使用W3C。更改此行为是:
或