sleuth 链路跟踪
随着系统规模越来越大,微服务之间调用关系变得错综复杂,一条调用链路中可能调用多个微服务,任何一个微服务不可用都可能造整个调用过程失败
spring cloud sleuth 可以跟踪调用链路,分析链路中每个节点的执行情况
微服务中添加 spring cloud sleuth 依赖
修改以下微服务的 pom.xml,添加 sleuth 依赖
sp02-item-service
sp03-user-service
sp04-order-service
sp06-zuul
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
sleuth + zipkin 链路分析
zipkin 可以收集链路跟踪数据,提供可视化的链路分析
下载zipkin服务:
https://github.com/openzipkin/zipkin
java -jar zipkin-server-2.23.5-exec.jar --zipkin.collector.rabbitmq.uri=amqp://admin:admin@192.168.64.140:5672
访问链路:
http://localhost:9411/zipkin
02、03、04、06添加zipkin依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
06添加Rabbitmq 依赖和 Rabbitmq 连接配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
修改远程配置的yml
spring:
zipkin:
sender:
type: rabbit #配置发送方式
总结
Sleuth + Zipkin 链路跟踪
Sleuth
产生链路跟踪日志
修改 2,3,4,6,添加 sleuth 依赖
sleuth 是 0 配置,它有自动配置类
链路日志发送到 Zipkin
修改 2,3,4,6,日志通过 Rabbitmq 发送到 Zipkin 服务器
添加 zipkin client 依赖
在 06 项目添加 Rabbitmq 依赖和 Rabbitmq 连接配置
四个模块中,配置发送方式: rabbit
2,3,4 在 config 目录中修改,然后推送到远程仓库