92--spring cloud (sleuth链路跟踪技术)

sleuth 链路跟踪

随着系统规模越来越大,微服务之间调用关系变得错综复杂,一条调用链路中可能调用多个微服务,任何一个微服务不可用都可能造整个调用过程失败

spring cloud sleuth 可以跟踪调用链路,分析链路中每个节点的执行情况

微服务中添加 spring cloud sleuth 依赖

修改以下微服务的 pom.xml,添加 sleuth 依赖

  • sp02-item-service
  • sp03-user-service
  • sp04-order-service
  • sp11-zuul

编辑起步依赖,分别 sleuth 依赖

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

在控制台查看链路跟踪日志

四个微服务的控制台日志中,可以看到以下信息:
[服务id,请求id,span id,是否发送到zipkin]

  • 请求id:请求到达第一个微服务时生成一个请求id,该id在调用链路中会一直向后面的微服务传递
  • span id:链路中每一步微服务调用,都生成一个新的id

[zuul,6c24c0a7a8e7281a,6c24c0a7a8e7281a,false]

[order-service,6c24c0a7a8e7281a,993f53408ab7b6e3,false]

[item-service,6c24c0a7a8e7281a,ce0c820204dbaae1,false]

[user-service,6c24c0a7a8e7281a,fdd1e177f72d667b,false]

sleuth + zipkin 链路分析

zipkin 可以收集链路跟踪数据,提供可视化的链路分析

链路数据抽样比例

默认 10% 的链路数据会被发送到 zipkin 服务。可以配置修改抽样比例

spring:
  sleuth:
    sampler:
      probability: 0.1

zipkin 服务

下载 zipkin 服务器

下载zipkin

启动 zipkin 时,连接到 rabbitmq

java -jar zipkin-server-2.12.9-exec.jar --zipkin.collector.rabbitmq.uri=amqp://admin:admin@120.53.24.172:5672

启动

访问地址:

zipkin

微服务添加 zipkin 起步依赖

修改以下微服务

  • sp02-item-service
  • sp03-user-service
  • sp04-order-service
  • sp11-zuul
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

如果没有配置过 spring cloud bus,还需要添加 rabbitmq 依赖和连接信息

添加依赖

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

在以上四个项目中配置中心的YML文件配置

spring:
  rabbitmq:
    host: 120.53.24.172
    port: 5672
    username: admin
    password: admin
  zipkin:
    sender:
      type: rabbit

启动并访问服务,访问 zipkin 查看链路分析

zipkin

点击依赖的位置,可以显示链路信息

zipkin

zipkin

posted on 2020-09-06 21:21  liqiangbk  阅读(212)  评论(0编辑  收藏  举报

导航