如何在微服务/REST API 之间传播traceId

问题描述 投票:0回答:1

我编写了一个 Spring Boot REST API,它使用千分尺来记录 traceId 和 spanId,我什至可以通过以下方式在我的

@Service
类中获取此数据:

@Autowired
private Tracer tracer;
...
tracer.currentTraceContext().context().traceId()
tracer.currentTraceContext().context().spanId()

但是,当我调用另一个 REST API 时,我不知道如何传播这些数据。

有什么想法吗?

获取有关如何在微服务/REST API 调用之间传播traceId 和 spanId 的具体答案。

java spring micrometer
1个回答
0
投票

假设使用 Spring Boot 3,您可以依赖此 Spring 博客文章中指定的 Micrometer 跟踪库。

如有任何疑问,请务必遵循官方 Spring 文档。有一个特定于传播痕迹的部分,就像通过适当的构建器创建

RestTemplate
WebClient
一样简单。

如果您仍然依赖 Spring Boot 2,那么可以使用的替代库是 Spring Cloud Sleuth 和 Spring Cloud Zipkin。

© www.soinside.com 2019 - 2024. All rights reserved.