天天看点

SpringCloud(九)Sleuth 分布式请求链路跟踪前言一、安装 zipkin-server二、使用步骤总结 感谢B站尚硅谷的老师 ~~~

文章目录

  • 前言
  • 一、安装 zipkin-server
      • 1.1 下载
      • 1.2 流程图
  • 二、使用步骤
      • 2.1 直接修改之前的模块 `sgg-consumer80` 引入依赖
  • 总结 感谢B站尚硅谷的老师 ~~~

前言

在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用协同产生最后的请求结果, 每一个前端请求都会形成一个复杂的分布式服务调用链路,链路中的任何一环出来高延时或者错误都会引起整个请求最后的失败

SpringCloud Sleuth 提供了一套完整的服务跟踪的解决方案

在分布式系统中提供追踪解决方案并且兼容支持了 zipkin

一、安装 zipkin-server

1.1 下载

SpringCloud(九)Sleuth 分布式请求链路跟踪前言一、安装 zipkin-server二、使用步骤总结 感谢B站尚硅谷的老师 ~~~

下载 2.12.9 版本的 zipkin

通过 cmd 运行

java -jar zipkin-server-2.12.9-exec.jar

控制台打印

SpringCloud(九)Sleuth 分布式请求链路跟踪前言一、安装 zipkin-server二、使用步骤总结 感谢B站尚硅谷的老师 ~~~

可以看到 zipkin 默认使用的是 9411 端口。 访问 http://localhost:9411/zipkin

SpringCloud(九)Sleuth 分布式请求链路跟踪前言一、安装 zipkin-server二、使用步骤总结 感谢B站尚硅谷的老师 ~~~

1.2 流程图

SpringCloud(九)Sleuth 分布式请求链路跟踪前言一、安装 zipkin-server二、使用步骤总结 感谢B站尚硅谷的老师 ~~~

Span Id

表示当前服务,

ParentId

为上一层 服务

Trace

类似于树结构的 Span 集合, 表示一条调用链路 , 存在唯一标识

span

表示调用链路来源, 通俗的理解就是 span 就是一次请求信息

二、使用步骤

2.1 直接修改之前的模块

sgg-consumer80

引入依赖

pom.xml

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
           

修改 yml 文件

server:
  port: 80
spring:
  application:
    name: ssg-consumer-service
  zipkin:
    base-url: http://127.0.0.1:9411 # 指定 zipkin 的服务地址
  sleuth:
    sampler:
      probability: 1 # 采样率, 介于 0  - 1 之间。 0 不采集, 1 全部采集
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://localhost:7001/eureka,http://localhost:7002/eureka
  instance:
    instance-id: sgg-consumer80
    prefer-ip-address: true
           

修改

sgg-payment8001

sgg-payment8002

pom.xml

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
           

修改 yml 文件

spring:
  application:
    name: sgg-payment-service
  zipkin:
    base-url: http://127.0.0.1:9411 # 配置 zipkin 的地址
  sleuth:
    sampler:
      probability: 1 # # 采样率, 介于 0  - 1 之间。 0 不采集, 1 全部采集
           

接口依旧使用之前的老接口。 顺序启动 7001,7002,8001,8002,80

访问 接口

SpringCloud(九)Sleuth 分布式请求链路跟踪前言一、安装 zipkin-server二、使用步骤总结 感谢B站尚硅谷的老师 ~~~

这个时候查看我们的 Zipkin 的控制台

SpringCloud(九)Sleuth 分布式请求链路跟踪前言一、安装 zipkin-server二、使用步骤总结 感谢B站尚硅谷的老师 ~~~

可以看到我们的请求链路已经添加到 控制台中了

SpringCloud(九)Sleuth 分布式请求链路跟踪前言一、安装 zipkin-server二、使用步骤总结 感谢B站尚硅谷的老师 ~~~

点进去 ,我们点击该链路数据,可以看到一个 Trace 明细。如下图所示:

SpringCloud(九)Sleuth 分布式请求链路跟踪前言一、安装 zipkin-server二、使用步骤总结 感谢B站尚硅谷的老师 ~~~

再之后,点击两个Span,可以看到每一个的Span明细

SpringCloud(九)Sleuth 分布式请求链路跟踪前言一、安装 zipkin-server二、使用步骤总结 感谢B站尚硅谷的老师 ~~~
SpringCloud(九)Sleuth 分布式请求链路跟踪前言一、安装 zipkin-server二、使用步骤总结 感谢B站尚硅谷的老师 ~~~

总结 感谢B站尚硅谷的老师 ~~~

参考文章 : 芋道源码

继续阅读