【发布时间】:2020-05-07 10:20:12
【问题描述】:
基于Documentation envoy 能够生成跟踪并将其传播到 Jaeger 服务集群。
它还指出
为了充分利用跟踪,应用程序必须传播 Envoy 在调用其他服务时生成的跟踪标头。
因此假设如果客户端调用 -> 服务 A -> 调用服务 B,则服务 A 被代理在 envoy 后面。 如果服务 A 调用服务 B,那么从 A 到 B 的调用也必须通过 envoy right。所以客户端调用Service A时envoy最初生成的tracedId,不会传播到Service B。
为什么应用程序(服务 A)需要转发这些标头?
【问题讨论】:
-
只有应用程序才能知道从 A 到 B 的客户端调用是先前调用的结果,还是其他/不相关的结果。 Envoy 无法做出这个猜测。这就是为什么您需要传播标头。
标签: distributed istio envoyproxy opentracing distributed-tracing