中国做贸易的网站,做终端客户网站,wordpress中文图片不显示,网站客户留言文章目录 Spring Cloud Sleuth概述概述主要功能#xff1a;Sleuth中的术语和相关概念官网 zipkin配置下载运行zipkin下载zipkin运行 demo配置服务提供者 lf-userpom.xmlapplication.ymlUserController 服务调用者 lf-authpom.xmlapplication.ymlAuthController 测试 Spring Cl… 文章目录 Spring Cloud Sleuth概述概述主要功能Sleuth中的术语和相关概念官网 zipkin配置下载运行zipkin下载zipkin运行 demo配置服务提供者 lf-userpom.xmlapplication.ymlUserController 服务调用者 lf-authpom.xmlapplication.ymlAuthController 测试 Spring Cloud Sleuth概述
概述
Spring Cloud Sleuth 是一个分布式跟踪系统用于在微服务架构中追踪请求的流程和跨服务调用的链路。它是 Spring Cloud 生态系统的一部分用于帮助开发人员监测和诊断分布式应用程序的性能和问题。
主要功能
分布式追踪Spring Cloud Sleuth 为每个请求生成唯一的跟踪标识符并记录每个请求的起始时间和结束时间以及请求经过的各个服务的信息。这样开发人员可以查看整个请求的链路了解请求从一个微服务到另一个微服务的传递情况。
链路追踪Spring Cloud Sleuth 将跟踪信息关联到请求的链路中使开发人员能够跟踪请求在不同服务之间的传递并识别可能的性能问题或故障。
集成支持Spring Cloud Sleuth与其他微服务框架和工具如Spring Cloud、Zipkin、Jaeger等集成良好可以轻松地将其与这些工具一起使用以实现更全面的分布式追踪和性能监控。
日志输出Spring Cloud Sleuth还可以将跟踪信息输出到日志中以便开发人员查看请求的跟踪信息和性能数据。
Sleuth中的术语和相关概念
Trace跟踪Trace 是一组跨越多个服务的相关请求和操作的集合。它代表了一个完整的请求链路从一个服务到另一个服务的传递过程。 Span跨度Span 是 Trace 中的一个小的时间片段表示在一个服务内的单个操作。每个Span都有一个唯一标识符描述了操作的名称、开始时间和持续时间等信息。 Trace ID跟踪标识符Trace ID 是用于标识整个 Trace 的唯一标识符。它被分配给 Trace 中的所有 Span用于将它们关联在一起以形成完整的链路。 Span ID跨度标识符Span ID 是用于标识单个 Span 的唯一标识符。它用于将不同服务中的操作关联起来以构建跟踪链路。 Parent Span ID父 Span 标识符Parent Span ID 用于指示一个 Span 的父 Span。这样可以建立 Span 之间的层次关系。 Annotation注解Annotation 是用于描述 Span 的重要事件的标签。它们可以包括事件的名称、时间戳和其他相关信息用于更详细地描述 Span。 Sampler采样器采样器是决定是否记录 Trace 的策略。它可以根据一定的规则确定是否对请求进行跟踪以减少跟踪数据的产生量。 Baggage行李Baggage 是一种在 Span 之间传递上下文信息的方式。它可以用于传递一些自定义的信息以便在不同服务中使用。 Tracer跟踪器Tracer 是 Spring Cloud Sleuth 中的核心组件用于创建和管理 Trace 和 Span。通过 Tracer您可以开始、结束和注释 Span。 Exporter导出器Exporter 是用于将跟踪数据导出到外部存储或分析工具的组件。它可以将跟踪数据发送到诸如Zipkin、Jaeger等分布式追踪系统。
官网
https://github.com/spring-cloud/spring-cloud-sleuth
zipkin配置
下载运行zipkin
下载zipkin
zipkin-server-2.12.9-exec.jar
运行
java -jar zipkin-server-2.12.9-exec.jar访问http://localhost:9411/zipkin/
demo配置
服务提供者 lf-user
pom.xml
增加:
!--包含了sleuthzipkin--
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-zipkin/artifactId
/dependencyapplication.yml
增加到spring层级下:
zipkin:base-url: http://localhost:9411
sleuth:sampler:#采样率值介于 0 到 1 之间1 则表示全部采集probability: 1UserController
GetMapping(/zipkin)
public String paymentZipkin() {return hi ,iam authzipkin server fall back;
}服务调用者 lf-auth
pom.xml
增加:
!--包含了sleuthzipkin--
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-zipkin/artifactId
/dependencyapplication.yml
增加到spring层级下:
zipkin:base-url: http://localhost:9411
sleuth:sampler:#采样率值介于 0 到 1 之间1 则表示全部采集probability: 1AuthController
增加:
GetMapping(/consumer/auth/zipkin)
public String paymentZipkin() {String result restTemplate.getForObject(USER_URL /user/zipkin/, String.class);return result;
}测试 依次启动: cloud-eureka-server7001 lf-user lf-auth 访问几次http://localhost:9002/auth/consumer/auth/zipkin 打开浏览器访问http://localhost:9411 查看依赖关系