一、使用自己搭建的调用链后端
只需要保证 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: 381cea277131b627X-B3-ParentSpanId: 7fba7505d61e4db2X-B3-Sampled: 0X-B3-TraceId: 7fba7505d61e4db2