小编Pok*_*kni的帖子

测微计追踪brave + 休息模板/网络客户端

我正在尝试将 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

spring-boot micrometer brave micrometer-tracing

2
推荐指数
1
解决办法
2096
查看次数