前言
文本介绍给Spring cloud项目加上 Micrometer ,以在Zipkin中查看到链路追踪信息。
基本项目介绍在前一篇文章:
spring cloud alibaba + nacos + seata + openFeign 实现AT模式的分布式事务
看到很多教材讲链路追踪是给分布式项目加上 Sleuth ,殊不知,从 Spring Boot 3.0.0 开始,Sleuth 项目被移除了,项目的核心被移到了 Micrometer Tracing 项目上面去了。我们这里使用的是Spring boot 3.3.3,因此,我们要整合的是Micrometer。
一、给各个子项目加入Micrometer依赖?
<!-- https://mvnrepository.com/artifact/io.micrometer/micrometer-core -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
<version>1.13.5</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>
<version>1.13.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.micrometer/micrometer-tracing-bridge-brave -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-brave</artifactId>
<version>1.3.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.zipkin.reporter2/zipkin-reporter-brave -->
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-reporter-brave</artifactId>
<version>3.4.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>3.3.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.github.openfeign/feign-micrometer -->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-micrometer</artifactId>
<version>13.5</version>
<scope>test</scope>
</dependency>
二、各项目配置Zipkin
management:
zipkin:
tracing:
endpoint: http://localhost:9411/api/v2/spans
tracing:
sampling:
probability: 1.0
三、用docker启动一个Zipkin服务器
docker run -d --name zipkin -p 9411:9411 openzipkin/zipkin
这将会启动一个名为 zipkin 的容器,并将其映射到宿主机的 9411 端口。
四、启动各个项目
启动各个项目,访问:
http://localhost:9001/webclient/test?userId=1
然后我们可以在Zipkin的web页面上看到追踪的信息了
即访问 http://localhost:9411/zipkin ,点击 RUN QUERY,可以看到追踪到的信息。
至此,我们就可以看到链路追踪的结果了。