Spring Cloud --09--sleuth + zipkin 链路分析

sleuth — 链路跟踪

  • 随着系统规模越来越大,微服务之间调用关系变得错综复杂,一条调用链路中可能调用多个微服务,任何一个微服务不可用都可能造整个调用过程失败
  • spring cloud sleuth 可以跟踪调用链路,分析链路中每个节点的执行情况

在调用链路中每个服务上都会产生链路跟踪日志

  • A --> B --> C --> D

在这里插入图片描述

项目添加 sleuth 依赖,自动配置

在这里插入图片描述

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

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

  • 通过 zuul 网关,访问 order-service
    http://localhost:3001/order-service/112233

在这里插入图片描述
在这里插入图片描述

sleuth + zipkin 链路分析

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

链路数据抽样比例

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

spring:
  sleuth:
    sampler:
      probability: 0.1

两种发送方式

  1. 直接连接zipkin,向zipkin发送
  2. 通过消息服务中转发送

zipkin 服务

下载 zipkin 服务器
https://github.com/openzipkin/zipkin

在这里插入图片描述

启动 zipkin 时,连接到 rabbitmq

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

在这里插入图片描述

  • http://localhost:9411/zipkin

在这里插入图片描述

2,3,4,11添加 rabbitmq 和 zipkin 配置

  1. 添加 rabbitmq 和 zipkin 客户端依赖
  2. 配置 rabbitmq 的连接信息
  3. 配置 zipkin 向 rabbitmq 发送日志

1. 添加 rabbitmq 和 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>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>

2. 配置 rabbitmq 的连接信息


spring:
  application:
    name: order-service
  cloud:
    config:
      override-none: true
  rabbitmq:
    host: 192.168.64.140
    port: 5672
    username: admin
    password: admin
  zipkin:
    sender:
      type: rabbit

server:
  port: 8201

eureka:
  client:
    service-url:
      defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka

feign:
  hystrix:
    enabled: true

management:
  endpoints:
    web:
      exposure:
        include: hystrix.stream

3. 配置 zipkin 向 rabbitmq 发送日志

在这里插入图片描述

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

  • http://localhost:3001/order-service/112233
    刷新访问多次,链路跟踪数据中,默认只有 10% 会被收集到zipkin

  • 访问 zipkin
    http://localhost:9411/zipkin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值