摘要

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

 

1、启动rabbitmq服务器

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

systemctl start rabbitmq-server.service

 
访问:http://192.168.10.101:15672/ 使用默认用户名和密码 guest
 
image
 
查看队列,此时无任何队列。
image

 

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,如下图:
image

 

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
 

<!-- spring cloud zipkin 依赖 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!-- 消息队列通用依赖 -->
<dependency>
    <groupId>org.springframework.amqp</groupId>
    <artifactId>spring-rabbit</artifactId>
</dependency>

 

5、客户端配置文件

image

 

6、测试

image

posted on 2022-05-06 16:40  史振兴  阅读(405)  评论(0编辑  收藏  举报