调用链路追踪
微服务调用链路追踪,使用的是Spring Cloud Sleuth,而Spring Cloud Sleuth又借鉴了很多Dapper, Zipkin和HTrace相关的东西。
对于客户端和服务端的集成方案,目录如下
1.Zipkin服务端配置
不需要自己手写工程,直接使用官方提供的jar包即可,不建议自己手动搭建。然后启动时添加各种配置参数即可。
其中文件zipkin-server-shared.yml是官方提供的配置文件,可参考里面的参数进行配置
1.1. Jar包下载
不建议服务端自己手写代码搭建,自从Spring Boot 2.x开始,官方修改了大量相关代码。
建议直接使用官方提供的jar包,然后修改配置即可。
Zipkin仓库在GitHub地址 https://github.com/openzipkin/zipkin.
其GitHub仓库文档中提供如下方式进行jar包下载
curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar
实际下载的路径是maven的官方仓库地址里面 https://repo1.maven.org/maven2/io/zipkin/zipkin-server
我们实际使用的是如下jar包地址:https://repo1.maven.org/maven2/io/zipkin/zipkin-server/2.19.2/zipkin-server-2.19.2-exec.jar
1.2. 相关配置
- 2.1 Zipkin版本
2.19.2
https://repo1.maven.org/maven2/io/zipkin/zipkin-server/2.19.2/zipkin-server-2.19.2-exec.jar
-
2.2 默认端口
9411 -
2.3 使用RabbitMQ代替HTTP
-
2.4 源代码查看配置
1.3. 启动脚本
默认端口:
- 常规启动
java -jar zipkin.jar
- 端口 + RabbitMQ启动
java -jar zipkin.jar --server.port=8080
1.4. Jenkins发布脚本配置
具体工程启动时可配置参数见文件 zipkin-server-shared.yml
开发环境Jenkins配置脚本如下,增加了RabbitMQ配置
nohup java -jar zipkin-server-2.19.2-exec.jar --server.port=9411--zipkin.collector.rabbitmq.addresses=localhost --zipkin.collector.rabbitmq.username=dev --zipkin.collector.rabbitmq.password=123456 --zipkin.collector.rabbitmq.virtual-host=dev >/dev/null &
2.Zipkin客户端配置
客户端配置比较简单,对于具体的微服务业务应用,需要添加如下依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
然后如果是使用HTTP收集链路,则添加配置
spring.zipkin.base-url=http://localhost:9411
spring.sleuth.sampler.probability=1.0
但是我们自己的工程已经都集成了RabbitMQ,因此Zipkin会直接使用RabbitMQ进行链路信息收集
则不要配置spring.zipkin.base-url=http://localhost:9411,只要配置如下即可
spring.sleuth.sampler.probability=1.0
本文介绍如何使用SpringCloud Sleuth和Zipkin进行微服务调用链路追踪,包括服务端和客户端的配置方法,特别关注使用RabbitMQ替代HTTP收集链路信息的配置细节。

3443

被折叠的 条评论
为什么被折叠?



