一 slueth的介绍
1.1 slueth的作用
在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个阶段请求都会形成一条复杂的分布式调用链路,链路中任何一环出现高延时或者错误都会引起整个请求的最后失败。
springcloud sleuth提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案且兼容支持zipklin。
Sleuth是Spring Cloud的分布式链路追踪组件,并兼容支持了 Zipkin 和其他基于日志的追踪系统,例如ELK(Elasticsearch 、Logstash、 Kibana)。
1.2 流程图
1.总概览
2.具体流程
trace:类似与树状结构的span集合,表示一条调用链路,存在唯一标识。
span:表示调用链路来源,通俗的理解为span就是一次请求信息。
1.3 其他链路监控实现方案
Skywalking 提出了代码级性能剖析
https://www.cnblogs.com/itxiaoshen/p/16523156.html
二 案例搭建
2.1 zipkin安装部署
2.2.1 下载
下载地址:https://repo1.maven.org/maven2/io/zipkin/zipkin-server/
2.2.2 启动服务
启动命令: java -jar zipkin-server-2.23.4-exec.jar
2.2.3 访问页面
2.2 项目流程图
2.3 工程配置
2.3.1 consumer7000配置
1.pom文件
<!--包含了sleuth+zipkin--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
2.yml配置
2.3.2 provider7001配置
1.pom文件
<!--包含了sleuth+zipkin--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
2.yml配置
2.3.3 provider7002配置
1.pom文件
<!--包含了sleuth+zipkin--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
2.yml配置
2.3 服务启动访问
2.3.1 nacos启动
2.3.2 启动程序
1.启动consumer7000,provider7001,provider7002,如下图
2.3.3 访问测试
不停的动态刷新几次:http://localhost:7000/consumer/payment/nacos/555
2.3.4 查看sleuth的页面监控
1.调用关系
2.依赖关系
1.consumer:
2.provider: