1

1.什么是分布式链路追踪

随着分布式服务架构的流行,特别是微服务等设计理念在系统中的应用,业务的调用链越来越复杂。相关产品还有skywalking、zipkin

分布式服务跟踪是整个分布式系统中跟踪一个用户请求的过程(包括数据采集、数据传输、数据存储、数据分析、数据可视化),捕获此类跟踪让我们构建用户交互背后的整个调用链的视图,这是调试和监控微服务的关键工具。Spring Cloud Sleuth是Spring Cloud为分布式服务跟踪提供的解决方案,有了它,我们可以:

  • 提供链路追踪,故障快速定位:可以通过调用链结合业务日志快速定位错误信息。
  • 可视化各个阶段耗时,进行性能分析
  • 各个调用环节的可用性、梳理服务依赖关系以及优化
  • 数据分析,优化链路:可以得到用户的行为路径,汇总分析应用在很多业务场景。

2.快速使用springcloud-sleuth

2.1 springboot启动日志

springboot项目启动时日志如下:

当有请求进入时,控制台打印日志如下:(本项目没有配置spring.application.name)

2.2 日志含义

第一个值:trace1,它表示应用的名称,也就是配置文件spring.application.name的值。

第二个值:454445a6a7d9ea44,它是SpringCloudSleuth生成的一个ID,称为Trace ID,它用来标识一条请求链路,一条请求链路中包含一个Trace ID,多个Span ID。

第三个值:912a7c66c17214e0,它是SpringCloudSleuth生成的另外一个ID,称为Span ID,它表示一个基本的工作单元,比如发送一个http请求。

第四个值:false,表示是否要将该信息输出到Zipkin等服务中来收集和展示。

3. 集成与应用

3.1 与zipkin整合

提供web页面,可以方便快捷的展示请求的完整生命周期和链式调用,便于快速定位、分析、解决问题

3.2 与ELK日志收集系统整合

日志收集系统,便于进行日志的收集、分析与计算

​官网链接:https://spring.io/projects/sp...


Smile3k
197 声望22 粉丝