SpringCloud Sleuth分布式链路请求跟踪(实操)

SpringCloud Sleuth分布式链路请求跟踪(实操)

背景

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

是什么

Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案
在分布式系统中提供追踪解决方案并且兼容支持了zipkin(负责展现)

实现步骤

 将Spring Cloud Sleuth和Zipkin JAR文件添加到捕获跟踪数据的服务中;
 在每个服务中配置Spring属性以指向收集跟踪数据的Zipkin服务器;
 安装和配置Zipkin服务器以收集数据;
 定义每个客户端所使用的采样策略,便于向Zipkin发送跟踪信息。

细节步骤

1.安装客户端
官网下载

在安装位置进入cmd页面 输入命令

java -jar zipkin-server-2.23.4.jar

成功启动
SpringCloud Sleuth分布式链路请求跟踪(实操)_第1张图片
运行控制台

调用链路
表示一请求链路,一条链路通过Trace Id唯一标识,Span标识发起的请求信息,各span通过parent id 关联起来。

2.在生产者加入pom文件



            org.springframework.cloud
            spring-cloud-starter-zipkin

3.改yml文件

spring:
  application:
    name: cloud-employee-service
  zipkin:
    base-url: http://localhost:9411
  sleuth:
    sampler:
      #采样率值介于0~1之间,1表示全部采样
      probability: 1

消费者同上步骤

本文用Nacos做的注册中心和服务中心
上文Nacos

1.启动注册中心的生产者和消费者
2.用注册中心的消费者通过openfeign远程调用生产者方法
3.就可以看到链路跟踪

效果如下
SpringCloud Sleuth分布式链路请求跟踪(实操)_第2张图片
SpringCloud Sleuth分布式链路请求跟踪(实操)_第3张图片

你可能感兴趣的:(SpringCloud,spring,cloud,分布式,java)