在现代微服务或单体应用中,了解请求的执行路径和耗时非常重要。本文介绍如何在 Spring Boot 单体服务中快速集成 Zipkin,实现链路追踪和可视化分析。
一、准备工作
1. 下载 Zipkin Server
wget https://repo1.maven.org/maven2/io/zipkin/java/zipkin-server/2.24.3/zipkin-server-2.24.3-exec.jar
2. 启动 Zipkin Server
java -jar zipkin-server-2.24.3-exec.jar --server.port=9411
后台启动
nohup java -jar zipkin-server-2.24.3-exec.jar --server.port=9411 &
访问 http://localhost:9411/zipkin 可以看到 Zipkin 首页。
二、Spring Boot 项目依赖
在 pom.xml 中添加 Sleuth 和 Zipkin 依赖:
<!-- Zipkin: 生成和收集追踪数据 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
<version>3.1.8</version> <!-- 与 Spring Boot 2.7.x 兼容 -->
</dependency>
<!-- Zipkin: 将追踪数据发送到 Zipkin Server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
<version>3.1.8</version>
</dependency>
三、配置 Zipkin 和 Sleuth
在 application.yml 中添加链路追踪配置:
spring:
application:
name: yudao-server
profiles:
active: local
# Zipkin 链路追踪配置
zipkin:
base-url: http://localhost:9411
sender:
type: web
sleuth:
sampler:
probability: 1.0 # 采样率:1.0=100%,生产环境可调整为0.1
这样,每个请求都会生成一个 Trace ID 并发送到 Zipkin。
四、启动 Spring Boot 服务
java -jar yudao-server.jar
五、查看链路追踪数据
-
打开 Zipkin 页面 http://localhost:9411/zipkin
-
在首页点击 "找到一个痕迹"
-
搜索条件填写:
-
Service Name :
yudao-server -
时间范围: 最近 1 小时或自定义
- 点击 查找,即可查看请求的执行链路。

六、追踪详情解析
每个 Trace 记录包含:
-
时间线视图:显示每个 Span 的执行时间和顺序
-
层级结构:展示父子调用关系
-
关键字段:
-
Trace ID:整个请求链路唯一标识
-
Span ID:每个操作唯一标识
-
标签信息:HTTP 方法、路径、状态码等
-
七、查看服务依赖
点击顶部菜单 "依赖",可看到服务调用关系图,包括:
-
yudao-server与数据库、Redis 等服务依赖 -
调用频率与错误率
八、生成测试流量
为了让 Zipkin 捕获数据,可以调用服务接口:
curl http://localhost:48080/admin-api/system/auth/sms-login
刷新 Zipkin 页面,即可看到新的追踪记录。

九、总结
通过以上步骤,Spring Boot 单体服务就能快速接入 Zipkin 链路追踪:
-
快速定位慢请求和性能瓶颈
-
可视化调用关系
-
支持分布式和单体应用
对于生产环境,可以调整采样率和 Zipkin 存储方式(如 MySQL、Elasticsearch),以满足性能和存储需求。