小编ogu*_*506的帖子

使用 Feign 构建器请求不会向子客户端发送 Trace-id、span-id,但使用 Rest 模板会显示子客户端上的所有标头

我正在使用 Feign Builder 发出顺序请求。请求标题中没有 x-b3-traceid,x-b3-spanid .. 。这就是为什么我的最后一个客户的日志出现在 zipkin 上。

我使用 spring boot 2.4.2 、 spring cloud 2020.0.0 、 feign-core 10.10.1 、 feign-okhttp 10.10.1 。我尝试过 spring-cloud-openfeign 并取得了想要的结果。但我不想使用这个库。这里有使用 Feign Builder 和 Rest Template 时的请求。我在 zipkin 上没有看到相同的日志。

我的 Client1 应用程序。我正在发送请求 http://localhost:8082/

import feign.Client;
import feign.Feign;
import feign.RequestInterceptor;
import feign.codec.Decoder;
import feign.codec.Encoder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.context.annotation.Bean;
import org.springframework.http.HttpMethod;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import sample.feign2.Client2Feign;

import javax.servlet.http.HttpServletRequest;
@RestController
public class SampleController {

    private Logger logger …
Run Code Online (Sandbox Code Playgroud)

zipkin spring-boot spring-cloud-sleuth openfeign

5
推荐指数
1
解决办法
2854
查看次数