应用场景
在微服务框架中,一个由客户端发起的请求在后台系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中任何一个环出现高延时或者错误都会引起整个请求最后的失败。因此需要增加链路监控。
Sleuth是什么
提供了一套完整的服务跟踪方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin(展现在可视化)
上图
Sleuth怎么使用
Spring Cloud F版起已不需要自己构建Zipkin Server了,只需要调用jar包即可。
下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/2.12.9/
执行
java -jar zipkin-server-2.12.9-exec.jar
访问地址:http://127.0.0.1:9411/zipkin/
项目中需要增配置文件
pom增加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
yml文件增加如下配置:
spring:
sleuth:
sampler:
probability: 1 #采样率介于0和1之间 1表示全部采样 项目中使用建议0.5
zipkin:
base-url: http://127.0.0.1:9411 # zipkin监控地址