笔记:Sleuth 的底层逻辑

article/2025/9/20 20:54:30
Sleuth 是通过打入到 Log 中的“卧底”来串联前后日志的。你集成了 Sleuth 组件之后,
它会向你的日志中打入三个“特殊标记”,其中一个标记你应该已经清楚了,那便是
Trace ID。剩下的两个标记分别是 Span ID 和 Parent Span ID,这俩用来表示调用的前后
顺序关系。
所谓 Span,它是 Sleuth 下面的一个基本工作单元,当服务请求抵达当前单元时,Sleuth
就会为这个单元分配一个独一无二的 Span ID,并标记单元的开始时间和结束时间,这样
就可以记录每个单元的处理用时了。
而 Parent Span ID 呢,顾名思义,它指向了当前单元的父级单元,也就是上游的调用者。
一个环环相扣的调用链就通过 Parent Span ID 被串了起来。


 

从上面的图中可以看出,这个服务请求调用了三个微服务,分别为服务 A、服务 B 和服务
C。
在一条调用链中,不管你调用了多少个微服务,Sleuth 为本次调用生成的全局唯一 Trace
ID 都会贯穿整个链路,所图中三个微服务所对应的日志 Trace ID 都是 A1。
由于服务 A 是调用链的起点,所以它并没有父级单元,因此它的 Parent Span ID 为空,
而起始单元的 Span ID 和 Trace ID 则是相同的,值都为 A1
 
对于服务 B 来说,它的父级调用单元是服务 A,因此它的 Parent Span ID 指向了服务 A
的 Span ID,即 A1;同理,服务 C 的 Parent Span ID 指向了服务 B 的 Span ID,即
B2。

 


http://chatgpt.dhexx.cn/article/hvsBQHVC.shtml

相关文章

sleuth介绍

spring Cloud Sleuth为 spring Cloud提供了分布式跟踪的解决方案,它大量借用了Google Dapper、 Twitter Zipkin和 Apache HTrace的设计,先来了解一下 Sleuth的术语, Sleuth借用了 Dapper的术语。 span(跨度)&#xff…

sleuth 链路追踪

一:什么是链路追踪 对于以前的单服务器项目而言,如果一个地方出了问题,很容易去找到。可是对于微服务架构项目来说,因为微服务太多,而且往往是一个微服务调用了很多其他的微服务,如果一个地方出错&#xff…

java sleuth配置

java sleuth配置 springCloud学习记录SpringCloud Alibaba sleuth(分布式请求链路跟踪)zipkinsleuthpomyml springCloud学习记录 SpringCloud Alibaba sleuth(分布式请求链路跟踪) 在微服务框架种,一个由客户端发起的…

Spring Cloud Sleuth+Zipkin 构建微服务链路跟踪系统

什么是链路跟踪系统? 在微服务中,多个服务分布在不同物理机器上,各个服务之间相互调用。如何清晰地记录服务调用过程,并在出现问题的时候能够通过查看日志和服务之间的调用关系来定位问题,这样的系统就叫做链路跟踪系…

SpringCloud Sleuth入门介绍

案例代码:https://github.com/q279583842q/springcloud-e-book 一、Sleuth介绍 为什么要使用微服务跟踪?它解决了什么问题? 1.微服务的现状? 微服务的现状   随着业务的发展,单体架构变为微服务架构,并且系统规模也变得越来…

Spring Cloud Sleuth HTTP详解

目录 1版本关系 2简介 2.1术语 2.2调用链可视化 2.2.1使用Zipkin进行分布式跟踪 2.2.2错误可视化 2.2.3使用Brave进行分布式跟踪 2.2.4将Sleuth添加到项目中 3调用信息生成与上报原理 3.1初始化配置类 3.2过滤器-请求过滤 3.3调用信息拦截 3.4调用信息上报 4日志…

Sleuth链路追踪

文章目录 Spring-Cloud-Alibaba-Sleuth链路追踪一、链路追踪介绍二、Sleuth入门演示: 三、ZipKin介绍ZipKin服务端安装ZipKin数据持久化 Spring-Cloud-Alibaba-Sleuth链路追踪 一、链路追踪介绍 在大型的微服务项目中,一个系统被拆分成许多模块&#xf…

sleuth原理详解

sleuth原理 1、关键术语 Span:Span基本工作单元,发送一个远程调度任务就会产生一个Span, Span 是用 64ID唯一标识的,Trace是用另一个64ID唯一标识的。Span还包含了其他的信息,例如摘要、时间戳事件、Span的ID以及进程 ID。Trace…

07-搭建微服务-链路追踪Sleuth

1、为什么使用链路追踪? 在微服务中,随着服务越来越多,对调用链的分析越来越复杂。 出现问题: 1、微服务之间的调用错综复杂,用户发送的请求经历哪些服务,调用链不清楚,没有一个自动化的工具类来…

sleuth入门

Sleuth介绍 SpringCloud Sleuth主要功能就是在分布式系统中提供追踪解决方案。它大量借用了Google Dapper的设计, 先来了解一下Sleuth中的术语和相关概念。 Trace 由一组Trace Id(贯穿整个链路)相同的Span串联形成一个树状结构。为了实现请求…

集成sleuth_Spring Cloud Sleuth整合zipkin过程解析

这篇文章主要介绍了Spring Cloud Sleuth整合zipkin过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 SpringCloud Sleuth 简介 Spring Cloud Sleuth为Spring Cloud实现了分布式跟踪解决方案。 Spring Clo…

集成sleuth_整合Sleuth

Sleuth是 springcloud 分布式跟踪解决方案。 Sleuth 术语: 跨度(span ) :Sleuth 的基本工作单元,他用一个64位的id唯一标识。出ID外,span还包含 其他的数据,如 描述,时间戳事件,键值对注解等&am…

Spring Boot 中的 Sleuth 是什么, 如何使用

Spring Boot 是一个非常流行的 Java Web 开发框架,它提供了许多方便的功能,其中之一就是 Sleuth。Sleuth 是一个分布式跟踪系统,用于跟踪应用程序中的请求和操作。在本文中,我们将探讨 Spring Boot 中的 Sleuth 是什么&#xff0c…

sleuth原理分析

背景 微服务模式下,一次请求可能会经过多个服务。如果没有日志链将单次请求的日志串起来,定位问题时很容易陷入海量的日志中,无法快速定位问题。 sleuth是spring cloud中日志链(调用链解决方案),引入该依赖…

快速学习-Sleuth--链路追踪

Sleuth–链路追踪 6.1 链路追踪介绍 在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成 系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建 在…

SpringCloud学习笔记(十二)Sleuth 分布式请求链路跟踪

目录 一、Sleuth介绍 1、为什么会出现这个技术?需要解决哪些问题? 2、是什么 二、搭建链路监控步骤 1、zipkin搭建安装 1)下载 2)运行jar 3)运行控制台 4)术语 2、服务提供者 cloud-provider-pa…

MySQL5种索引类型

一、简介 MySQL目前主要有以下几种索引类型: 1.普通索引 2.唯一索引 3.主键索引 4.组合索引 5.全文索引 二、语句 CREATE TABLE table_name[col_name data type] [unique|fulltext][index|key][index_name](col_name[length])[asc|desc] 1.unique|fulltext为可选…

mysql索引类型和索引方式

1.什么是索引 在MySQL中,索引(index)也叫做“键(key)”,它是存储引擎用于快速找到记录的一种数据结构。 2.索引的分类 在MySQL中,通常我们所指的索引类型,有以下几种:…

Mysql索引的类型(单列索引、组合索引 btree索引 聚簇索引等)

一、索引的类型 Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。 FULLTEXT 即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用&…

mysql索引类型有哪些?

在Mysql数据库当中,我们经常会谈到Sql语句,当然也会谈到索引优化,那么在数据库当中有哪些索引类型呢,博主在这里进行分享,希望对大家能有所帮助。 目录 1、B-Tree索引: 2、Hash索引: 3、Full…