在非 Spring 应用程序中创建 traceID
Create traceID in a non-Spring application
关于如何创建 traceID 的小问题,但如果应用程序不是 Spring-based,请。
我的应用程序是第一个,HTTP 调用的发起者。因此,该应用程序可以被视为客户端。
目的地、服务器都是Spring引导Spring基于云的网络应用程序。我想强调的是,虽然服务器是基于 Spring 的,但我,客户端,不是 Spring 启动应用程序。
虽然我的应用程序是非 Spring 应用程序,但我确实使用 Spring Webflux WebClient 来创建对这些服务器的 HTTP 请求。强调一下,并不是因为我使用了 Spring Webflux WebClient,才使该应用程序成为 Spring 应用程序!
由于我是调用链的第一个,所以我想创建某种traceID,所以后续服务将携带我创建的traceID。
我很困惑,因为我试过的这段代码里面应该有什么:
final var response = webClient.post().uri("http://some-third-party-api.com/someroute").header("X-B3-TraceId", "How to create a traceID?").body(BodyInserters.fromValue(payload)).retrieve().bodyToMono(String.class).block();
因此,我想问一下,作为第一个,HTTP 调用发起者,使用 Spring Webflux WebClient,但在非 Spring 应用程序中,如何创建这些 traceID 所以后续服务获得我创建的服务?
默认情况下,Sleuth 使用名为 Brave 的 OpenZipkin 跟踪库。如果你的应用程序是基于 java 的,你可以使用 Brave,如果不是,你可以在
OpenZipkin org or official and non-official ones in https://zipkin.io/pages/tracers_instrumentation.html
关于如何创建 traceID 的小问题,但如果应用程序不是 Spring-based,请。
我的应用程序是第一个,HTTP 调用的发起者。因此,该应用程序可以被视为客户端。
目的地、服务器都是Spring引导Spring基于云的网络应用程序。我想强调的是,虽然服务器是基于 Spring 的,但我,客户端,不是 Spring 启动应用程序。
虽然我的应用程序是非 Spring 应用程序,但我确实使用 Spring Webflux WebClient 来创建对这些服务器的 HTTP 请求。强调一下,并不是因为我使用了 Spring Webflux WebClient,才使该应用程序成为 Spring 应用程序!
由于我是调用链的第一个,所以我想创建某种traceID,所以后续服务将携带我创建的traceID。
我很困惑,因为我试过的这段代码里面应该有什么:
final var response = webClient.post().uri("http://some-third-party-api.com/someroute").header("X-B3-TraceId", "How to create a traceID?").body(BodyInserters.fromValue(payload)).retrieve().bodyToMono(String.class).block();
因此,我想问一下,作为第一个,HTTP 调用发起者,使用 Spring Webflux WebClient,但在非 Spring 应用程序中,如何创建这些 traceID 所以后续服务获得我创建的服务?
默认情况下,Sleuth 使用名为 Brave 的 OpenZipkin 跟踪库。如果你的应用程序是基于 java 的,你可以使用 Brave,如果不是,你可以在 OpenZipkin org or official and non-official ones in https://zipkin.io/pages/tracers_instrumentation.html