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,可以查看调用链路

相关推荐
problc11 分钟前
Spring Cloud OpenFeign + Nacos 实战教程:像调用本地方法一样调用远程微服务
spring·spring cloud·微服务
重生之我要当java大帝12 分钟前
java微服务-尚医通-编写医院设置接口上
java·数据库·微服务
xiaogg36781 小时前
阿里云k8s部署微服务yaml和Dockerfile文件脚本
阿里云·微服务·kubernetes
2301_768350232 小时前
RabbitMq快速入门程序
分布式·rabbitmq·ruby
MrSYJ5 小时前
学完涨工资的技巧2:Spring Authorization Server如何签发JWTToken
java·spring boot·微服务
数智顾问6 小时前
破解 Shuffle 阻塞:Spark RDD 宽窄依赖在实时特征工程中的实战与未来
大数据·分布式·spark
EF@蛐蛐堂6 小时前
WUJIE VS QIANKUN 微前端框架选型(一)
前端·vue.js·微服务·架构
JAVA学习通7 小时前
Kafka在美团数据平台的实践
分布式·kafka
JAVA学习通7 小时前
Replication(下):事务,一致性与共识
大数据·分布式·算法