SpringBoot 单体服务集成 Zipkin 实现链路追踪

发布时间:2026/7/17 9:58:26
SpringBoot 单体服务集成 Zipkin 实现链路追踪 在现代微服务或单体应用中了解请求的执行路径和耗时非常重要。本文介绍如何在 Spring Boot 单体服务中快速集成Zipkin实现链路追踪和可视化分析。一、准备工作1. 下载 Zipkin Serverwget https://repo1.maven.org/maven2/io/zipkin/java/zipkin-server/2.24.3/zipkin-server-2.24.3-exec.jar2. 启动 Zipkin Serverjava -jar zipkin-server-2.24.3-exec.jar --server.port9411后台启动nohup java -jar zipkin-server-2.24.3-exec.jar --server.port9411 访问 http://localhost:9411/zipkin 可以看到 Zipkin 首页。二、Spring Boot 项目依赖在pom.xml中添加Sleuth 和 Zipkin依赖!-- Zipkin: 生成和收集追踪数据 -- dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-sleuth/artifactId version3.1.8/version !-- 与 Spring Boot 2.7.x 兼容 -- /dependency !-- Zipkin: 将追踪数据发送到 Zipkin Server -- dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-sleuth-zipkin/artifactId version3.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.0100%生产环境可调整为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以满足性能和存储需求。