我们正在使用Brave的ExtraFieldPropagation特性将服务之间的自定义字段(例如,仅限内部的请求标识符)作为HTTP标头进行传播。
我们的一些服务在处理请求的过程中使用RestTemplate或外国客户端向外部服务发出请求。由于Sleuth使用传播特性增强了所有RestTemplate bean和外部客户机,这意味着外部服务只接收内部头,这是我想要避免的。
我知道有两种变通方法可以避免这种行为,这两种方法都有缺陷:
有没有一种方法可以定制Sleuth(例如,通过某种注入器bean),以便在向传出HTTP请求中注入头之前,我可以推断请求的目的地?我看到了有关定制喷油器bean的文档,但这些文档似乎在spring boot中已经不存在了
您可以取消对给定URL的采样,这意味着标头将被传播,但不会发送到Zipkin。您不能仅对一些URL禁用检测,因为我们正在检测注册为bean的所有组件。