当前位置: 首页 > news >正文

Spring Cloud Sleuth(Micrometer Tracing +Zipkin)

分布式链路追踪

分布式链路追踪技术要解决的问题,分布式链路追踪(Distributed Tracing),就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等

Micrometer Tracing 版本支持

目前最新版本的sleuth 已经迁移到Micrometer Tracing spring-cloud-sleuth,以及支持springboot版本,sleuth 已经不支持spring boot 3.x版本,同时Micrometer也兼容支持zipkin展现

链路追踪原理 

链路通过TraceId唯一标识,Span标识发起的请求信息,各span通过parent id 关联起来 

Zipkin 

Zipkin是一种分布式链路跟踪系统图形化的工具,Zipkin 是 Twitter 开源的分布式跟踪系统,能够收集微服务运行过程中的实时调用链路信息,并能够将这些调用链路信息展示到Web图形化界面上供开发人员分析,开发人员能够从ZipKin中分析出调用链路中的性能瓶颈,识别出存在问题的应用程序,进而定位问题和解决问题,官网zipkin

Micrometer 负责采集数据,Zipkin负责页面展示

 下载zipkin

https://zipkin.io/pages/quickstart.html

运行zipkin

访问http://localhost:9411/zipkin/ 

整合分布式链路追踪 

引入依赖,我这里有父工程,版本号在父工程中指定,在子模块将这个依赖包引入即可

  <properties><micrometer-tracing.version>1.2.0</micrometer-tracing.version><micrometer-observation.version>1.12.0</micrometer-observation.version><feign-micrometer.version>12.5</feign-micrometer.version><zipkin-reporter-brave.version>2.17.0</zipkin-reporter-brave.version></properties><dependencyManagement><dependencies><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing-bom</artifactId><version>${micrometer-tracing.version}</version><type>pom</type><scope>import</scope></dependency><!--micrometer-tracing指标追踪  1--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing</artifactId><version>${micrometer-tracing.version}</version></dependency><!--micrometer-tracing-bridge-brave适配zipkin的桥接包 2--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing-bridge-brave</artifactId><version>${micrometer-tracing.version}</version></dependency><!--micrometer-observation 3--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-observation</artifactId><version>${micrometer-observation.version}</version></dependency><!--feign-micrometer 4--><dependency><groupId>io.github.openfeign</groupId><artifactId>feign-micrometer</artifactId><version>${feign-micrometer.version}</version></dependency><!--zipkin-reporter-brave 5--><dependency><groupId>io.zipkin.reporter2</groupId><artifactId>zipkin-reporter-brave</artifactId><version>${zipkin-reporter-brave.version}</version></dependency></dependencies></dependencyManagement>

 yaml文件配置

management:zipkin:tracing:endpoint: http://localhost:9411/api/v2/spanstracing:sampling:probability: 1.0 #采样率默认为0.1(0.1就是10次只能有一次被记录下来),值越大收集越及时。

 访问测试

启动服务,确保已经向nacos注册,使用openFeign进行远程调用测试

 

消费者服务访问提供者服务,查看链路追踪 

 

点击show查看调用耗时以及调用信息信息 

 

查看依赖关系 

http://www.lryc.cn/news/472960.html

相关文章:

  • 人工智能:机遇与挑战
  • mac电脑设置crontab定时任务,以及遇到的问题解决办法
  • Backtrader 数据篇 02
  • 视频转场素材资源网站分享
  • 二十二、MySQL 8.0 主从复制原理分析与实战
  • 基于OSS搭建在线教育视频课程分享网站
  • CentOS 7 下升级 OpenSSL
  • 线上 Dump
  • AcWing 1303:斐波那契前 n 项和 ← 矩阵快速幂加速递推
  • 2024 Rust现代实用教程:1.2编译器与包管理工具以及开发环境搭建
  • 人工智能原理实验一:知识的表示与推理实验
  • 自学C语言——VS实用调试技巧总结
  • VC2012创建弹出式菜单
  • Google 第三季度季报出炉
  • 入职总结(更新中)
  • @DeleteMapping和@PostMapping和@GetMapping和Content-Type使用记录
  • unity 中使用zeroMq和Mqtt 进行通讯
  • 四、k8s快速入门之Kubernetes资源清单
  • 掌握ElasticSearch(六):分析过程
  • 【设计模式】使用python 实践框架设计
  • Apache paimon-CDC
  • 如何分析算法的执行效率和资源消耗
  • 提示工程(Prompt Engineering)指南(进阶篇)
  • 音视频入门基础:FLV专题(19)——FFmpeg源码中,解码Audio Tag的AudioTagHeader,并提取AUDIODATA的实现
  • 前端零基础入门到上班:【Day3】从零开始构建网页骨架HTML
  • 字符脱敏工具类
  • 【jvm】jvm对象都分配在堆上吗
  • @AutoWired和 @Resource原理深度分析!
  • C++设计模式创建型模式———原型模式
  • 重学SpringBoot3-Spring WebFlux之SSE服务器发送事件