微服务 SpringCloud Sleuth链路追踪

蔚落 2022-10-29 07:39 336阅读 0赞

微服务 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目录下,运行命令

  1. java -jar zipkin-server-2.12.9-exec.jar

在这里插入图片描述在这里插入图片描述

3.监控

访问地址:http://localhost:9411/zipkin/
在这里插入图片描述Trace:类似于树结构的Span集合,表示一条调用链路,存在唯一标识。
span:表示调用链路来源,通俗的理解span就是一次请求信息。

三、案例验证

1.服务提供者

引入依赖

  1. <!--包含了sleuth+zipkin-->
  2. <dependency>
  3. <groupId>org.springframework.cloud</groupId>
  4. <artifactId>spring-cloud-starter-zipkin</artifactId>
  5. </dependency>

配置yml

  1. spring:
  2. application:
  3. name: cloud-payment-service
  4. zipkin:
  5. base-url: http://localhost:9411
  6. sleuth:
  7. sampler:
  8. #采样率值介于 0 到 1 之间,1 则表示全部采集
  9. probability: 1

2.服务消费者

服务消费者与提供者依赖配置相同。

3.监控效果

在这里插入图片描述在这里插入图片描述在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,336人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SpringCloud 服务追踪Sleuth

    微服务架构是通过业务来划分服务的,对外暴露的接口,可能需要很多个服务协同才能完成一个接口功能,如果链路上任何一个服务出现问题,都会形成导致接口调用失败。此时查找出现问题的微服务