#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 数据教程一