利用 ASP.NET Core 中的标头传播实现分布式链路跟踪

Posted 云来雁去

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用 ASP.NET Core 中的标头传播实现分布式链路跟踪相关的知识,希望对你有一定的参考价值。

在此之前,我曾写过一篇博客,《Envoy 集成 Jaeger 实现分布式链路跟踪》,主要分享了 ASP.NET Core 应用如何结合 EnvoyJeager 来实现分布式链路跟踪,其核心思想是生成一个全局唯一的x-request-id,并在不同的微服务或者子系统中传播该信息。进而,可以使得相关的信息像一条线上的珠子一样串联起来。在此基础上,社区主导并产生了 OpenTracing 规范,在这个 规范 中,一个 Trace,即调用链,是由多个 Span 组成的有向无环图,而每个 Span 则可以含有多个键值对组成的 Tag。不过,当时我们有一个非常尴尬的问题,那就是每个微服务必须显式地传递相关的 HTTP 请求头。那么,是否有一种更优雅的方案呢?而这就是我们今天要分享的内容。首先,我们来回头看看当初的方案,这是一个非常朴实无华的实现:

[HttpPost<

以上是关于利用 ASP.NET Core 中的标头传播实现分布式链路跟踪的主要内容,如果未能解决你的问题,请参考以下文章

利用 ASP.NET Core 中的标头传播实现分布式链路跟踪

在 ASP.NET Core 中使用 HTTP 标头传播

在 ASP.NET Core 中使用 HTTP 标头传播

从 ASP.NET Core 中的不同 HTTP 标头读取 JWT 令牌

ASP.Net Core 2.0 如何获取中间件中的所有请求标头? [复制]

为 ASP.NET Core MVC 中的所有响应添加标头