61、链路追踪:zipkin客户端向rabbitmq中发送数据并测试

1、在每个需要数据收集的模块添加依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-sleuth-zipkin</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.amqp</groupId>
            <artifactId>spring-rabbit</artifactId>
        </dependency>

2、修改每个zipkin客户端模块的配置文件

spring:
  #修改zipkin使用rabbitmq采集数据
  zipkin:
    #base-url: http://127.0.0.1:9411/  #server的请求地址
    sender:
      #type: web #数据的传输方式 , 已http的形式向server端发送数据
      type: rabbit #向rabbitmq中发送消息
  sleuth:
    sampler:
      probability: 1 #采样比
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest
    listener: # 这里配置了重试策略
      direct:
        retry:
          enabled: true
      simple:
        retry:
          enabled: true

3、测试

关闭Zipkin Server,并随意请求连接。打开rabbitmq管理后台可以看到,消息已经推送到rabbitmq。
61、链路追踪:zipkin客户端向rabbitmq中发送数据并测试_第1张图片
当Zipkin Server启动时,会自动的从rabbitmq获取消息并消费,展示追踪数据
61、链路追踪:zipkin客户端向rabbitmq中发送数据并测试_第2张图片
61、链路追踪:zipkin客户端向rabbitmq中发送数据并测试_第3张图片
可以看到如下效果:
1、请求的耗时时间不会出现突然耗时特长的情况
2、当ZipkinServer不可用时(比如关闭、网络不通等),追踪信息不会丢失,因为这些信息会保存在Rabbitmq服务器上,直到Zipkin服务器可用时,再从Rabbitmq中取出这段时间的信息

你可能感兴趣的:(61、链路追踪:zipkin客户端向rabbitmq中发送数据并测试)