Я хотел бы распространить значение заголовка request-foo
, полученное в службе (foo), на другой заголовок header-bar
для службы (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
получает его также от восходящего потока. сервис. * * 1023
Я собирался предоставить Injector
, аналогичный ExtraFieldInjector
, но не расширяемый ExtraFieldPropagation
, поэтому мне нужно будет предоставить собственную реализацию Propagation
.
Интересно, я что-то пропустил? Есть ли более простой подход?
Спасибо.