Sleuth分布式请求链路追踪
概述
为什么会出现这个技术?需要解决那些问题?
在微服务框架中,一个由客户端发起的请求在后端系统中会经过不通的服务节点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式调用链路,链路中任何一环出现高延迟或错误都会引起整个请求最后的失败。
zipkin
从cloud F版本以后zipkin就不再需要安装直接用jar包就可有了
需要下载 zipkin-server-2.12.9-exec.jar 直接用java -jar 启动就可以
访问url:localhost:9411/zipkin/
完整的调用链路
精简过后的调用链路
Trace:类似于树结构的Span集合,表示一条调用链路,存在唯一标识
span:表示调用链路来源,通俗的理解span就是一次请求信息
pom依赖
<!--包含了sleuth+zipkin-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
yml配置
server:
port:8001
spring:
application:
name: cloud-payment-service
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
probability: 1 #采样价值介于 0到1之间,1表示全部采集 一般设置为0.5就可以了