SpringBoot - SpringCloud Sleuth Zipkin - 跟踪 - 传递 traceId

问题描述

关于如何传递原始跟踪 ID traceId(而不是 X-B3-TraceId)的小问题。

整个端到端流程是客户端 ClientA 与其他三个微服务(共四个)之间的调用

客户A(团队A)->服务B1(团队B)->服务B2(团队B)->服务C(团队C)

团队 A 拥有客户端,即呼叫的发起者,团队 C 拥有最后一个服务。

我的团队 B 拥有四个微服务中的两个。

所有后续的微服务只是执行计算并将彼此的响应聚合回调用方 ClientA。

我们的团队 B 有两个微服务,因此我们是四个中第一个使用 Spring Cloud Sleuth 和 Zipkin 的人。

很高兴,我们可以看到四个服务中的 traceId,仅在我们的服务中。

[serviceBone,24ccc8d03f686f2e,...]  
[serviceBtwo,...] 

这在调试、定时调用等方面帮助我们,非常开心。

既然大家都看到了好处,现在 ClientA 和 ServiceC(另外两个我们不拥有)也与 Sleuth-Zipkin 集成。

不幸的是,我们似乎无法“链接一切”。 ?

我们看着对方的 traceId,看到了类似的东西:

[clientA,31f79eac76b305a9,...]  

[serviceBone,d5396495f621e993,...] 

[serviceC,fb381ef109c13eef,...]

因此,我们现在都很困惑。正如我们认为的那样,我们会看到类似的内容

[clientA,...]

由于对于两个服务B1和B2,我们没有做任何特别的事情,开箱即用,我们可以看到两者之间相同的traceId,我们认为,开箱即用,我们可以看到四个之间服务。

请问,我的理解有误吗?

请问我错过了什么?

我是否必须做任何特别的事情,如果是,是什么,才能让 ClientA 向我发送它的 traceId?

或者 ClientA 已经发送了它,我没有正确接收它? (同样适用于ServiceC)

感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)