MST

星途 面试题库

面试题:微服务架构下Spring Cloud Sleuth分布式链路追踪基础

在微服务架构中使用Spring Cloud Sleuth实现分布式链路追踪,简述Span和Trace的概念以及它们之间的关系。
41.4万 热度难度
后端开发微服务架构

知识考点

AI 面试

面试题答案

一键面试

Span

  • 概念:Span是链路追踪中的基本工作单元,代表了一次对外部资源的请求或一次本地方法调用。它包含了开始时间、结束时间、操作名称等信息。例如,在一个电商微服务系统中,从商品服务获取商品信息的这一操作就可以用一个Span来表示。
  • 属性
    • Span ID:唯一标识该Span。
    • Parent Span ID:若该Span有父Span(表示此次操作是在另一个操作内部发起的),则会记录父Span的ID。
    • Operation Name:操作名称,如数据库查询、HTTP请求等。
    • Start Timestamp:Span开始时间。
    • End Timestamp:Span结束时间。

Trace

  • 概念:Trace是由一系列Span组成的一个完整的工作流链条,代表了从外部请求发起开始到最终响应返回这一完整过程。例如,用户在电商平台下单,从用户发起下单请求,到订单服务处理订单、调用库存服务扣减库存、通知支付服务等一系列操作构成一个Trace。
  • 属性
    • Trace ID:唯一标识该Trace,所有属于同一个Trace的Span都共享这个Trace ID ,用于将不同的Span关联到同一个完整请求链路中。

关系

  • 一个Trace由一个或多个Span组成,这些Span按照时间顺序和调用关系形成树形结构。
  • 每个Trace有一个唯一的Trace ID,每个Span除了有自己唯一的Span ID外,还通过Parent Span ID 与父Span建立关联,顶级Span没有Parent Span ID 。通过这种方式,Span之间形成层次化的调用关系,从而清晰地展示整个分布式系统中一次请求的完整路径和各部分的执行情况。