SpringCloud搭建微服务之Micrometer分布式链路追踪

1. 概述

由于Spring Cloud Sleuth最新版本只支持Spring Boot 2.7.x,核心项目已经迁移到Micrometer Traceing项目,Spring Boot 3.x版本要实现分布式链路追踪需要集成Micrometer。更多详情可以参阅Micrometer官网

本文将以Spring Boot 3.2.x和Spring Cloud 2023.0.x版本和JDK 17实现分布式链路追踪,有需要了解Spring Boot 2.7.x版本实现分布式链路追踪的小伙伴可以参阅SpringCloud搭建微服务之Sleuth分布式请求链路跟踪

2. 搭建搭建Zipkin Server

SpringCloud搭建微服务之Sleuth分布式请求链路跟踪这篇文章第二部分已经详细介绍了如何下载zipkin jar包和安装的步骤,新的版本下载就不再赘述,需要注意的是,最新版zipkin需要本地安装JDK 17。下载后,使用命令java -jar zipkin-server-3.1.1-exec.jar启动zipkin server即可

启动zipkin server后,在浏览器输入http://localhost:9411/zipkin进入zipkin首页

3. 微服务集成Micrometer

3.1. 引入核心依赖

在服务提供端和服务消费端都引如以下依赖

xml 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--指标追踪-->
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-tracing</artifactId>
</dependency>
<!--适配zipkin的桥接包-->
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-observation</artifactId>
</dependency>
<dependency>
    <groupId>io.github.openfeign</groupId>
    <artifactId>feign-micrometer</artifactId>
</dependency>
<dependency>
    <groupId>io.zipkin.reporter2</groupId>
    <artifactId>zipkin-reporter-brave</artifactId>
</dependency>

3.2. 编写application.yml

yaml 复制代码
management:
  zipkin:
    tracing:
      endpoint: http://localhost:9411/api/v2/spans
  tracing:
    sampling:
      probability: 1.0 #采样率默认0.1(10次只能有一次被记录),值越大手机越及时

4. 验证

分别启动服务提供端和服务消费端微服务

刷新zipkin管理端,可以看到调用请求

点击Dependencies,可以查看调用链路

相关推荐
观无2 小时前
redis分布式锁
数据库·redis·分布式
eternal__day2 小时前
Spring Cloud 多机部署与负载均衡实战详解
java·spring boot·后端·spring cloud·负载均衡
颜淡慕潇2 小时前
Redis 实现分布式锁:深入剖析与最佳实践(含Java实现)
java·redis·分布式
啾啾Fun3 小时前
【Java微服务组件】分布式协调P4-一文打通Redisson:从API实战到分布式锁核心源码剖析
java·redis·分布式·微服务·lua·redisson
记得开心一点嘛11 小时前
使用MinIO搭建自己的分布式文件存储
分布式·spring cloud·minio
纪元A梦12 小时前
分布式拜占庭容错算法——PBFT算法深度解析
java·分布式·算法
后海 0_o13 小时前
2025前端微服务 - 无界 的实战应用
前端·微服务·架构
喵叔哟13 小时前
24.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--认证微服务
微服务·架构·.net
bing_15813 小时前
跨多个微服务使用 Redis 共享数据时,如何管理数据一致性?
redis·微服务·mybatis
LI JS@你猜啊15 小时前
window安装docker
java·spring cloud·eureka