问题描述
关于如何传递原始跟踪 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 (将#修改为@)