我想将request-foo
服务(foo)中收到的标头值传播到header-bar
服务(bar)的另一个标头。我想为此利用 sleuth/brave 仪器而不将其包含在业务逻辑中
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
实现。
想知道我错过了什么吗?有没有更简单的方法?
谢谢你。