微服务SpringCloud链路追踪之Micrometer+Zipkin


Dreamtraveler
原创
发布时间: 2026-04-29 18:25:41 | 阅读数 0收藏数 0评论数 0
封面
Micrometer 是一种现代化的指标收集工具,专为微服务架构设计,能够与多种监控系统集成。它在 SpringCloud 中取代了 Sleuth,成为分布式链路追踪的推荐解决方案。结合 Zipkin,可以实现链路追踪的可视化,帮助开发者快速定位性能瓶颈和问题。
1

下载 zipkin-jar

  1. https://zipkin.io/pages/quickstart 这个是zipkin的平台地址 我们点击如图1所示圈出来的字体 进行下载jar包
  2. 也可以使用以下这两个命令进行下载安装 如图2
curl -sSL https://zipkin.io/quickstart.sh | bash -s

大家下不下来也可以再附件中直接下 我把jar放在附件里了

大家下载时候要对应上你们本地的java版本 我这个jar是需要java17

JAR
zipkin.jar
129.04MB
2

访问zipkin

  1. 下载好之后使用命令 java -jar zipkin.jar 进行启动 如图1所示
  2. 然后访问 http://127.0.0.1:9411 如图2
3

父级导入pom


导入以下依赖


<!--micrometer-tracing-bom导入链路追踪版本中心 1-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bom</artifactId>
<version>${micrometer-tracing.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--micrometer-tracing指标追踪 2-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing</artifactId>
<version>${micrometer-tracing.version}</version>
</dependency>
<!--micrometer-tracing-bridge-brave适配zipkin的桥接包 3-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-brave</artifactId>
<version>${micrometer-tracing.version}</version>
</dependency>
<!--micrometer-observation 4-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>
<version>${micrometer-observation.version}</version>
</dependency>
<!--feign-micrometer 5-->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-micrometer</artifactId>
<version>${feign-micrometer.version}</version>
<scope>test</scope>
</dependency>
<!--zipkin-reporter-brave 6-->
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-reporter-brave</artifactId>
<version>${zipkin-reporter-brave.version}</version>
<scope>compile</scope>
</dependency>


版本如下

<micrometer-tracing.version>1.6.4</micrometer-tracing.version>
<micrometer-observation.version>1.12.0</micrometer-observation.version>
<feign-micrometer.version>13.6</feign-micrometer.version>
<zipkin-reporter-brave.version>3.4.3</zipkin-reporter-brave.version>



依赖名称

核心作用

通俗解释

micrometer-tracing

核心抽象层

它是链路追踪的“门面”(类似于日志里的 SLF4J)。它定义了 Trace、Span 等标准接口,但不负责具体的追踪逻辑。

micrometer-tracing-bridge-brave

适配/桥接包

它是“翻译官”。Micrometer Tracing 是通用的,而 Brave 是具体的实现引擎。这个包让 Micrometer 能够调用 Brave 来生成追踪数据。

micrometer-observation

观测指标采集

它是 Spring Boot 3 的新法宝。通过一个 API 整合了指标 (Metrics)日志 (Logging)链路 (Tracing)。它负责监控一段代码的执行并记录结果。

feign-micrometer

Feign 客户端集成

它是“传递员”。当你通过 Feign 调用其他微服务时,它负责把当前的 Trace ID 注入到 HTTP 请求头里,确保链路不断掉。

zipkin-reporter-brave

数据发送器

它是“搬运工”。负责将 Brave 生成的追踪数据,通过网络发送给 Zipkin 服务器进行展示和存储。



4

调用模块导入pom

在service的调用模块导入以下依赖 没有bom模块

<!--micrometer-tracing指标追踪 2-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing</artifactId>
</dependency>
<!--micrometer-tracing-bridge-brave适配zipkin的桥接包 3-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<!--micrometer-observation 4-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>

</dependency>
<!--feign-micrometer 5-->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-micrometer</artifactId>
<scope>test</scope>
</dependency>
<!--zipkin-reporter-brave 6-->
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-reporter-brave</artifactId>
<scope>compile</scope>
</dependency>
5

配置yml

yml 配置如下 如图所属

management:
zipkin:
tracing:
endpoint: http://localhost:9411/api/v2/spans
tracing:
sampling:
probability: 1.0


management.zipkin.tracing.endpoint: 指定链路追踪数据(Spans)的上报地址

management.tracing.sampling.probability 采样率 决定百分之多少的请求会被记录下来并发送给远程服务器

6

使用

然后我们用postman进行测试了一下 就能正常使用了

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载
pdf下载 举报