概述

  • 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。
  • SpringCloud Sleuth[sluːθ],侦探provides Spring Boot auto-configuration for distributed tracing.分布式请求链路跟踪

搭建链路监控步骤

  1. zipkin:用于展示链路监控

    • SpringCloud F版本起就不需要自己构建Zipkin Server了,只需要调用jar包即可

    • 下载jar包并运行

      SpringCloud Sleuth分布式请求链路跟踪 - 图1

页面

SpringCloud Sleuth分布式请求链路跟踪 - 图2

  • 相关术语

    • Trace:Zipkin使用Trace结构表示对一次完整的请求的跟踪,一次请求可能由后台的若干服务负责处理,每个服务的处理是一个Span,Span之间有依赖关系,Trace就是树结构的Span集合;
    • Span:每个服务的处理跟踪是一个Span,可以理解为一个基本的工作单元,包含了一些描述信息:id,parentId,name,timestamp,duration,annotations等
      1. 微服务模块添加Sleuth
  • pom添加依赖

    1. <dependency>
    2. <groupId>org.springframework.cloud</groupId>
    3. <artifactId>spring-cloud-starter-zipkin</artifactId>
    4. </dependency>
  • 配置文件修改

    SpringCloud Sleuth分布式请求链路跟踪 - 图3

  • 测试

    SpringCloud Sleuth分布式请求链路跟踪 - 图4

点击SHOW可以查看详细信息

SpringCloud Sleuth分布式请求链路跟踪 - 图5