SpringCloud-分布式请求链路追踪(Sleuth)
Sleuth
概述
为什么会出现Sleuth?解决什么问题?
在分布式微服务架构中,由客户端发起的请求 在系统中会经过多个不同的节点 从而产生最终的结果,形成一条复杂的分布式链路,一旦链路中的任一节点出现异常,都会导致请求失败;
what
https://github.com/spring-cloud/spring-cloud-sleuth
https://docs.spring.io/spring-cloud-sleuth/docs/current/reference/html/
spring cloud sleuth提供了一套完整的 服务跟踪 解决方案;
spring cloud sleuth在分布式系统中 提供追踪解决方案 且 兼容支持zipkin;
How
zipkin
spring cloud从F版起,不需要自己搭建ZipKin Server,只需要调用jar即可;
下载zipkin-server
https://repo1.maven.org/maven2/io/zipkin/zipkin-server/
运行
java -jar zipkin-server-2.23.9-exec.jar
访问
localhost:9411/zipkin/
术语
一条链路通过trace ID唯一标识,span标识发起的请求信息,各个span通过parentId关联;
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency> spring: application: name: eureka-payment-service zipkin: base-url: http://localhost:9411 sleuth: sampler: #采样率,0~1,1表示全部采集 probability: 1