Как распространять значения заголовков с разными именами заголовков, используя sleuth/brave
Я хотел бы распространять request-foo
значение заголовка, полученное в службе (foo) для другого заголовка header-bar
для обслуживания (бар). Я хотел бы использовать для этого инструментальные средства отважного и смелого, не включая его в бизнес-логику.
foo-service --------> HTTP ------> bar-service
(request-foo) (request-bar)
В Sleuth и Brave уже есть поддержка для распространения, когда имена заголовков совпадают. Например, установив в foo-service
следующие
spring.sleuth.propagation-keys=request-foo
Это будет пропагандировать request-foo
значение заголовка в bar-service
с request-foo
Название заголовка.
К сожалению, в моем случае я не могу контролировать bar-service
и он ожидает значение заголовка как request-bar
а также нет контроля, чтобы переименовать request-foo
Название заголовка, потому что foo-service
получает его также от вышестоящей службы.
Я думал, чтобы обеспечить Injector
похож на ExtraFieldInjector
но не удлиняется ExtraFieldPropagation
так что мне нужно будет предоставить свой Propagation
реализация.
Интересно, я что-то пропустил? Есть ли более простой подход?
Спасибо.