#yyds干货盘点#分布式服务追踪Spring Cloud Sleuth

Posted 温哈哈哈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#分布式服务追踪Spring Cloud Sleuth相关的知识,希望对你有一定的参考价值。

分布式服务追踪Spring Cloud Sleuth

引入Spring Cloud Sleuth的jar包:

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>

日志信息:

 2021-10-21 12:41:45.363  INFO [bootstrap,2153f7f664ba1ecc,d75374589526f7c1,false] [springAppName_IS_UNDEFINED,2153f7f664ba1ecc,d75374589526f7c1,false] 6036 --- [nio-8080-exec-2] 

第一个值:记录应用名称

第二个值:Spring Cloud Sleuth生成的一个ID,Trace ID,用来标识一条请求链路。一条请求链路中包含一个TraceID,多个Span ID

第三个值:Spring Cloud Sleuth生成的Span ID,表示一个基本的工作单位

第四个值:表示是否要将该信息输出到Zipkin等服务中来收集和展示

一次服务请求链路的调用过程中,会保持并传递同一个Trace ID,从而将整个分布于不同微服务进程中的请求跟踪信息串联起来。

分布式系统的服务跟踪主要包括两个关键点:

  • 当请求发送到分布式系统的入口端点时,只需要服务跟踪框架为请求创建一个唯一的跟踪表示,同时在分布式系统内部流转时,始终保持传递该唯一标识,直到返回给请求方
  • 统计各个处理单元的时间延迟需要通过唯一标识来标记它的开始、具体过程和结束。

第一个服务发送到第二个服务之前,Sleuth会在该请求的Header中增加实现跟踪需要的重要信息,主要有:

  • X-B3-TraceId:一条请求链路的唯一标识
  • X-B3-SpanId:一个工作单位的唯一标识
  • X-B3-ParentSpanId:标识当前工作单位所属的上一个工作单元
  • X-B3-Sampled:是否被抽样输出的标准,1表示需要被输出,0表示不需要被输出
  • X-B3-Name:工作单位的名称

以上是关于#yyds干货盘点#分布式服务追踪Spring Cloud Sleuth的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#Spring Cloud 之 Eureka 和 Zuul 的简单使用

SpringCloud 分布式日志采集方案#yyds干货盘点#

#yyds干货盘点#Spring认证中国教育管理中心-Apache Geode 的 Spring 数据教程一

微服务架构 | 11. 分布式事务 #yyds干货盘点#

#yyds干货盘点#愚公系列2023年02月 .NET/C#知识点-区块链概念和实现

#yyds干货盘点#Prometheus 之 OpenStack 的监控简述