У меня есть два основных микросервиса Springboot, и я использую Jaeger.Допустим, две службы: foo
и bar
.Я могу отправить заголовок User-Agent
из foo в бар, используя свойство Tracing Baggage.
Из службы 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-agent
и uberctx-x-api-key
Я не уверен, почему добавляется uber-ctx-*
, я только хочу, чтобы заголовок x-api-key
был перенаправлен.