摘要
我们可以将链路追踪数据放到MQ中,通过MQ将数据存储到数据库中,实现异步处理,提高项目的安全与性能
1、启动rabbitmq服务器
(默认已经安装了MQ)
开启虚拟机,通过以下命令启动RabbitMQ服务端。
systemctl start rabbitmq-server.service
访问:http://192.168.10.101:15672/ 使用默认用户名和密码 guest
查看队列,此时无任何队列。
2、部署Zipkin服务端
添加启动参数,重新部署服务端
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、客户端添加依赖
<!-- 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、客户端配置文件
6、测试
披荆斩棘,仗剑天涯