我想将在服务(foo)中收到的request-foo
标头值传播到用于服务(bar)的另一个标头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
标头名称,因为{{1 }}也从上游服务接收它。
我当时想提供一个类似于foo-service
的{{1}},但不能扩展Injector
,所以我需要提供自己的ExtraFieldInjector
实现。
我想念什么吗?有没有更简单的方法?
谢谢。