调用链使用

最近更新时间: 2024-09-05 15:09:00

操作场景

使用原生应用时,如果服务已经在使用调用链后端(如 Skywalking、Jaeger),用户可以选择继续使用自己搭建的调用链后端,也可以改用 TSF 提供的调用链功能。

操作步骤

使用自己搭建的调用链后端

只需要保证 TSF 部署的应用到调用链后端的网络是通的,然后正常部署原生应用即可。目前已测试通过 Skywalking、Zipkin、Jaeger、Pinpoint。

要使用 Skywalking/Pinpoint 这类需要 Java Agent 的后端,如果在虚拟机部署,需要先自行把相关文件安装在虚拟机上,然后做好路径配置。如果部署容器,也是类似。

使用 TSF 的调用链功能

需要在应用中传递调用链信息,目前支持 Zipkin 的 B3 Propagation,所以只要是和 Zipkin B3 兼容的 SDK 均可,例如 Spring Cloud Sleuth。

使用 Spring Cloud Sleuth 来传递调用链信息

在 pom.xml 加入 spring-cloud-starter-sleuth 依赖即可:

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

通过 Feign/RestTemplate 等调用服务时,会传递如下 HTTP header:

X-B3-SpanId: 381cea277131b627
X-B3-ParentSpanId: 7fba7505d61e4db2
X-B3-Sampled: 0
X-B3-TraceId: 7fba7505d61e4db2