Как распространять значения заголовков с разными именами заголовков, используя 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 реализация.

Интересно, я что-то пропустил? Есть ли более простой подход?

Спасибо.

0 ответов

Другие вопросы по тегам