链路跟踪 Sleuth

简介

Spring Cloud Sleuth实现了一种分布式的服务链路跟踪解决方案,通过使用Sleuth可以让我们快速定位某个服务的问题。

概念

  • Span

Span是基本的工作单元。Span包括一个64位的唯一ID,一个64位trace码,描述信息,时间戳事件,key-value 注解(tags),span处理者的ID(通常为IP)。
最开始的初始Span称为根span,此span中span id和 trace id值相同。

  • Trance

包含一系列的span,它们组成了一个树型结构

  • Annotation

用于及时记录存在的事件。常用的Annotation如下

cs - Client Sent:客户端发送一个请求,表示span的开始
sr - Server Received:服务端接收请求并开始处理它。(sr-cs)等于网络的延迟
ss - Server Sent:服务端处理请求完成,开始返回结束给服务端。(ss-sr)表示服务端处理请求的时间
cr - Client Received:客户端完成接受返回结果,此时span结束。(cr-sr)表示客户端接收服务端数据的时间

使用

zipkin环境

zipkin jar包下载地址

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

运行

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

访问http://localhost:9411/zipkin/出现如下界面说明zipkin环境构建成功。
在这里插入图片描述

项目配置

依赖-所有链路上的服务都需要添加
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>
application.yml-所有链路上的服务都需要添加如下的配置
spring:
  application:
    name: consumer_80
  zipkin:
    base-url: http://localhost:9411
  sleuth:
    sampler:
    #采样率值介于 0 到 1 之间,1 则表示全部采集
    probability: 1

测试

访问消费者接口后可以看到链路跟踪成功。
在这里插入图片描述

整合RabbitMq

spring:
  rabbitmq:
    host: ${RABBIT_MQ_HOST:192.168.182.20}
    port: ${RABBIT_MQ_PORT:5672}
    username: ${RABBIT_MQ_USERNAME:guest}
    password: ${RABBIT_MQ_PASSWORD:guest}
  zipkin:
    enabled: true
    sender:
      type: rabbit
  sleuth:
    enabled: true
    http:
      legacy:
        enabled: true

正常启动rabbitmq即可,启动zikpin时需要额外参数

java -DRABBIT_ADDRESSES=192.168.182.20:5672 -DRABBIT_USER=guest -DRABBIT_PASSWORD=guest -jar zipkin-server-2.12.9-exec.jar
或
RABBIT_ADDRESSES=localhost java -jar zipkin.jar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值