0

我有两个基本的 Springboot 微服务,我正在使用 Jaeger。可以说两个服务是foobar。我可以User-Agent使用 Tracing Baggage 属性将标头从 foo 发送到 bar 服务。

foo服务开始,我将bar使用现在调用服务localhost:port

用户还将x-api-key在请求中发送标头。此标头未从服务转发foobar

这是我的代码片段,

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-agent并且uberctx-x-api-key

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

4

1 回答 1

0

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

Baggage 项目可能作为单独的 HTTP 标头提供,也可能不提供:它是底层跟踪器的详细实现,例如 Jaeger 的。

于 2019-02-25T13:32:18.600 回答