分布式追踪和 Service Mesh
构建支持 trace 上下文传播的原生应用
虽然 Istio 代理可以自动发送 span,但要将这些 span 组合成单个 trace,还需要额外信息。原生应用必须在 HTTP header 中传播这些信息,以便代理发送 span 时,后端可以将它们组合成单个 trace。
为此,每个原生应用都必须从每个传入请求中收集 header,并将这些 header 转发到由该传入请求触发的所有传出请求。需要转发哪些 header 取决于所配置的 trace 后端。以下是摘要:
所有原生应用都应转发以下 header:
x-request-id:Envoy 专用的 header,用于一致地对日志和 trace 进行采样。traceparent和tracestate:W3C 标准 header
有关其他可观测性工具,请参阅其文档。