1. 概述
SpringCloud提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin
2. Sleuth流程
3. 调用链路
Trace
——— 类似于树结构的Span集合,表示一条调用链路,存在唯一表示TraceIdSpan
——— 类似于树结构的节点,表示调用链路来源,通俗的理解Span就是一次请求信息,存在唯一标识Span Id
和父标识Parent Id
4. 案例
SpringCloud 从F版起已不需要自己构建Zipkin Server了,只需调用jar包即可
4.1下载地址
https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/zipkin-server-2.12.9-exec.jar
4.2 运行jar
4.3 Dashboard
4.4 依赖(调用方与被调用方一样)
<!-- sleuth + zipkin -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
4.5 YAML配置(调用方与被调用方一样)
spring:
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
# 采样率值介于0到1之间,1则表示全部采集,数值越大性能开销越大
probability: 1
4.6 测试
- 80调用几次8001后zipkin才会出现服务名
- 调用链路、耗时
- 依赖关系分析