随着系统规模越来越大,微服务之间调用关系变得错综复杂,一条调用链路中可能调用多个微服务,任何一个微服务不可用都可能造整个调用过程失败
spring cloud sleuth 可以跟踪调用链路,分析链路中每个节点的执行情况
添加依赖后,被请求路过的每个微服务都会在控制台产生一个日志:
[服务id,请求id,span id,是否发送到zipkin]
**请求ID:**请求到达第一个微服务时生成一个请求id,该id在调用链路中会一直向后面的微服务传递
**span ID:**链路中每一步微服务调用,都生成一个新的id
[zuul,6c24c0a7a8e7281a,6c24c0a7a8e7281a,false]
[order-service,6c24c0a7a8e7281a,993f53408ab7b6e3,false]
[item-service,6c24c0a7a8e7281a,ce0c820204dbaae1,false]
[user-service,6c24c0a7a8e7281a,fdd1e177f72d667b,false]
依赖——>控制台查看:依赖 要监控的所有服务中添加sleuth
+ zipkin 链路分析org.springframework.cloud spring-cloud-starter-sleuth
zipkin 可以收集链路跟踪数据,提供可视化的链路分析
下载zipkin服务器——>启动并连接rabbitmq——>微服务添加依赖——>启动:下载zipkin服务器
https://github.com/openzipkin/zipkin
:启动并连接rabbitmq
在jar包目录下执行:
java -jar zipkin-server-2.12.9-exec.jar --zipkin.collector.rabbitmq.uri=amqp://admin:admin@192.168.64.140:5672
账户:密码@rabbitmq地址+端口
访问路径:
http://localhost:9411/zipkin
:微服务添加依赖 zipkin
org.springframework.cloud spring-cloud-starter-zipkin
如果没有配置过 spring cloud bus,还需要添加rabbitmq 依赖和连接信息
:启动-查看链路分析
- 访问路径,多访问几次。
- 访问zipkin
http://localhost:9411/zipkin
默认 10% 的链路数据会被发送到 zipkin 服务。可以配置修改抽样比例
spring:
sleuth:
sampler:
probability: 0.1



