进行并行调用时,Zipkin跟踪ID消失了

我打了一些不同服务的电话。我计划并行运行它们。每个方法的输出均为Monix Task类型。 让两个对象使用两种不同的方法。 method1method2调用不同的REST端点。

output1 = obj1.method1(param1)
output2 = obj1.method2(param2)

output1output2是不同的类型。

我尝试使用Monix的parZip2方法并行执行output1和output2。当我在代码的第一行上方打印Kamon的跨度时,我具有Trace ID,Span ID等的值。但是当并行执行时,trace ID会以某种方式消失,并且当我检查Zipkin时,我不会查看痕迹。

我尝试在并行处理两个调用的代码块周围编写类似的代码。

 val span = Kamon.currentSpan()
 Kamon.withSpan(span) {
      // do some logic for parallel processing
  }

,但端点调用的跟踪ID仍为空白。 有办法解决这个问题吗?

qkjqkj000 回答:进行并行调用时,Zipkin跟踪ID消失了

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3160908.html

大家都在问