和异常类似,出异常的时候控制台总是会打印出调用栈信息,开发者通过调用栈来分析异常出现的原因,但是微服务数量众多,而且调用服务的链路错综复杂,在一个服务出现了问题的时候,通常很难排查到底是后面的哪个服务导致了这个服务出现了问题,所以也需要像异常那样的调用栈,甚至还要统计出一些信息,比如说调用微服务耗用的时间等等,这就是链路跟踪。
Zipkin下载地址
https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
运行方式就是普通的java -jar
微服务中的配置(sleuth)
坐标:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
配置:
spring:
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
# 采样率,0 - 1之间,1表示全部采集
probability: 1
这样就可以进行链路跟踪了。
访问9411
端口就可以查看到zipkin
的界面了。
其中包含了三个id
traceId
: 当前链路的id
spanId
: 当前链路中某一个环节的id
parentId
: 当前环节的上一个环节的id