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