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

相关推荐
蛐蛐蜉蝣耶1 小时前
Spring AI与MCP集成实践:构建智能应用的新方式
人工智能·微服务·java开发·spring ai·mcp
古城小栈1 小时前
.proto文件:跨语言通信 的 协议基石
分布式·微服务
全靠bug跑1 小时前
Nacos 入门实战:部署、服务注册与发现全指南
java·spring cloud·docker·nacos
郑州光合科技余经理1 小时前
海外版生活服务系统源码 | 外卖+跑腿一站式平台技术解析
java·开发语言·javascript·git·spring cloud·php·生活
GEM的左耳返4 小时前
互联网大厂Java求职面试题解析与实战指导:涵盖核心技术栈与业务场景
java·数据库·spring boot·安全·微服务·消息队列·面试题
song5014 小时前
鸿蒙 Flutter 日志系统:分级日志与鸿蒙 Hilog 集成
图像处理·人工智能·分布式·flutter·华为
Wang's Blog4 小时前
RabbitMQ:消息可靠性保障之消费端 ACK 机制与限流策略解析
分布式·rabbitmq
松☆4 小时前
深入实战:Flutter + OpenHarmony 分布式软总线通信完整实现指南
分布式·flutter
Haooog4 小时前
Springcloud实用篇学习
后端·spring·spring cloud
武子康4 小时前
Java-194 RabbitMQ 分布式通信怎么选:SOA/Dubbo、微服务 OpenFeign、同步重试与 MQ 异步可靠性落地
大数据·分布式·微服务·消息队列·rabbitmq·dubbo·异步