我正在尝试将 TraceId 从一个服务传播到由其余模板/Web 客户端调用的另一个服务
我希望 TraceId 是相同的,但实际上会生成新的。
服务1:
@Bean
public WebClient webClient() {
return WebClient.create("http://localhost:8080");
}
Run Code Online (Sandbox Code Playgroud)
简单调用 service-2:
webClient.get().retrieve().bodyToMono(String.class).block();
Run Code Online (Sandbox Code Playgroud)
我在这两个服务中都有这些依赖项:
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我使用休息模板得到了相同的行为。根据文档,traceparent
标头应该被传播,但事实并非如此。我使用的是 Spring Boot 3.0.5