调用链使用
最近更新时间: 2024-10-17 17:10: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