在Spring Boot中使用Jaeger将请求标头转发到下一个微服务

问题描述 投票:0回答:1

我有两个基本的Springboot微服务,我正在使用Jaeger。让我们说两个服务是foobar。我可以使用Tracing Baggage属性从foo向酒吧服务发送User-Agent标题。

foo服务,到目前为止我将使用bar调用localhost:port服务。

用户还将在请求中发送x-api-key标头。此标题不是从foo转发到bar服务。

这是我的代码片段,

public ResponseEntity<String> fooService(@RequestHeader("User-Agent") String userAgent, @RequestHeader(value="x-api-key", required = false) String apikeyHeader) {
        try {
            /**
             * Set baggage
             */
            tracer.activeSpan().setBaggageItem("user-agent", userAgent);

            if (apikeyHeader != null && !apikeyHeader.isEmpty()) {
                tracer.activeSpan().setBaggageItem("x-api-key", apikeyHeader);
            }

在我的bar服务的日志中,它正在接收这些标题,uberctx-user-agentuberctx-x-api-key

我不确定为什么附加uber-ctx-*,我只想转发x-api-key标头。

spring-boot tracing zipkin jaeger
1个回答
0
投票

设置行李项与设置HTTP标头不同。您应该使用HTTP客户端(在您的示例中未显示)来设置HTTP标头。

行李物品可能或不作为单独的HTTP标题提供:它是基础跟踪器的详细实现,例如Jaeger's。

© www.soinside.com 2019 - 2024. All rights reserved.