Zipkin实现基于RabbitMQ存储链路信息至MySQL


目录
  • 摘要
  • 1、启动rabbitmq服务器
  • 2、部署Zipkin服务端
  • 3、查看队列
  • 4、客户端添加依赖
  • 5、客户端配置文件
  • 6、测试

摘要

我们可以将链路追踪数据放到MQ中,通过MQ将数据存储到数据库中,实现异步处理,提高项目的安全与性能

1、启动rabbitmq服务器

(默认已经安装了MQ)
开启虚拟机,通过以下命令启动RabbitMQ服务端。

systemctl start rabbitmq-server.service

 
访问:http://192.168.10.101:15672/ 使用默认用户名和密码 guest
 

 
查看队列,此时无任何队列。

2、部署Zipkin服务端

添加启动参数,重新部署服务端

官网地址:https://github.com/openzipkin/zipkin/blob/master/zipkin-server/src/main/resources/zipkin-server-shared.yml

java -jar zipkin-server-2.20.1-exec.jar --STORAGE_TYPE=mysql --MYSQL_HOST=localhost --MYSQL_TCP_PORT=3306 --MYSQL_USER=root --MYSQL_PASS=root --MYSQL_DB=zipkin --RABBIT_ADDRESSES=192.168.10.101:5672 --RABBIT_USER=guest --RABBIT_PASSWORD=guest --RABBIT_VIRTUAL_HOST=/ --RABBIT_QUEUE=zipkin

 
启动参数中包含MySQL和RabbitMQ的配置,实现基于MQ并存储链路信息至MySQL,如下图:

3、查看队列

访问:https://192.168.10.101:15672/#/queues 可以看到已经创建好了 zipkin队列。

4、客户端添加依赖

官网文档:https://cloud.spring.io/spring-cloud-static/spring-cloud-sleuth/2.2.1.RELEASE/reference/html/#sleuth-with-zipkin-over-rabbitmq-or-kafka
 



    org.springframework.cloud
    spring-cloud-starter-zipkin



    org.springframework.amqp
    spring-rabbit

5、客户端配置文件

6、测试