SpringCloud_Sleuth分布式链路跟踪

文章目录

  • 概述
  • 搭建链路监控
    • zipkin
      • 下载
      • 运行jar
      • 运行控制台
    • 服务提供者
    • 服务消费者
    • 效果
  • 参考Demo

概述

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

Sleuth提供了一套完整的服务跟踪的解决方案。在分布式系统中提供追踪解决方案并且兼容支持了zipkin。

搭建链路监控

zipkin

下载

https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/

运行jar

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

运行控制台

http://localhost:9411/zipkin/

SpringCloud_Sleuth分布式链路跟踪_第1张图片
一条链路通过Trace ID唯一标识,Span标识发起的请求信息,各个Span通过Parent ID关联。

Trace:类似于树结构的Span结合,标识一条调用链路,存在唯一标识。
Span:标识调用链路涟源,通俗理解就是一次请求信息

服务提供者

  1. pom

<dependency>
    <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-starter-zipkinartifactId>
dependency>
  1. yaml
spring:
  application:
    name: cloud-payment-service
  zipkin:
      base-url: http://localhost:9411
  sleuth:
    sampler:
    #采样率值介于 0 到 1 之间,1 则表示全部采集
    probability: 1

服务消费者

  1. pom

<dependency>
    <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-starter-zipkinartifactId>
dependency>
  1. yaml
spring:
  application:
    name: cloud-order-service
  zipkin:
      base-url: http://localhost:9411
  sleuth:
    sampler:
    #采样率值介于 0 到 1 之间,1 则表示全部采集
    probability: 1

效果

SpringCloud_Sleuth分布式链路跟踪_第2张图片
SpringCloud_Sleuth分布式链路跟踪_第3张图片

参考Demo

https://github.com/zzyybs/atguigu_spirngcloud2020

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