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

知识的领域是无限的,我们的学习也是无限期的。这篇文章主要讲述#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.363INFO [bootstrap,2153f7f664ba1ecc,d75374589526f7c1,false] [springAppName_IS_UNDEFINED,2153f7f664ba1ecc,d75374589526f7c1,false] 6036 --- [nio-8080-exec-2]

第一个值:记录应用名称
【#yyds干货盘点#分布式服务追踪Spring Cloud Sleuth】第二个值:Spring Cloud Sleuth生成的一个ID,TraceID,用来标识一条请求链路。一条请求链路中包含一个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:工作单位的名称

    推荐阅读