分布式追踪和服务网格

构建支持 trace 上下文传播的应用程序

尽管 Istio 代理可以自动发送 span,但要将这些 span 组合成单个 trace,还需要额外的信息。应用程序必须在 HTTP header 中传播这些信息,这样当代理发送 span 时,后端就可以将它们组合成单个 trace。

为此,每个应用程序必须从每个传入请求中收集 header,并将这些 header 转发到由该传入请求触发的所有传出请求。要转发哪些 header 取决于所配置的 trace 后端。以下为概要:

所有应用程序都应转发以下 header:

  • x-request-id:Envoy 特有的 header,用于一致地对日志和 trace 进行采样。
  • traceparenttracestateW3C 标准 header

有关其他可观测性工具,请参阅其文档。