微服务 SpringCloud Sleuth链路追踪
微服务 SpringCloud Sleuth链路追踪
- 一、Sleuth概述
- 1.概述
- 2.是什么
- 二、zipkin概述
- 1.下载
- 2.运行
- 3.监控
- 三、案例验证
- 1.服务提供者
- 2.服务消费者
- 3.监控效果
一、Sleuth概述
1.概述
在微服务架构中,不同服务之间的调用错综复杂,当一个客户端发起请求后,在后端往往需要经过很多个不同的服务节点经过协同调用才能产生结果,后端不同服务之间的调用会形成一条复杂的分布式服务调用链路,链路中任何一个环节出现延时或者错误都会引起整个请求失败。
比如,订单调用支付,调用积分,调用库存,调用物流等等。
SpringCloud Sleuth要解决的问题就是分布式微服务链路追踪监控。
sleuth监控+zipkin仪表盘,会详细记录调用链路,调用每个服务所耗费时间,以及每个服务依赖关系等信息。
2.是什么
Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案。
在分布式系统中提供追踪解决方案并且兼容支持了zipkin,sleuth监控+zipkin仪表盘。
git地址:https://github.com/spring-cloud/spring-cloud-sleuth
官网地址:https://spring.io/projects/spring-cloud-sleuth#overview
二、zipkin概述
1.下载
SpringCloud从F版起已不需要自己构建Zipkin server了,只需要调用jar包即可。
下载zipkin可执行jar包:zipkin-server-2.12.9.exec.jar。
下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
2.运行
cd到jar目录下,运行命令
java -jar zipkin-server-2.12.9-exec.jar
3.监控
访问地址:http://localhost:9411/zipkin/Trace:类似于树结构的Span集合,表示一条调用链路,存在唯一标识。
span:表示调用链路来源,通俗的理解span就是一次请求信息。
三、案例验证
1.服务提供者
引入依赖
<!--包含了sleuth+zipkin-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
配置yml
spring:
application:
name: cloud-payment-service
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
#采样率值介于 0 到 1 之间,1 则表示全部采集
probability: 1
2.服务消费者
服务消费者与提供者依赖配置相同。
还没有评论,来说两句吧...