【发布时间】:2021-06-03 08:19:18
【问题描述】:
我正在运行一个 Spring Boot 应用程序:
- Spring Boot 2.3.8
- Spring Cloud Hoxton.SR10
我已声明 spring-cloud-starter-zipkin 和 spring-cloud-starter-openfeign 依赖项,并将我的应用程序配置为指向 Zipkin 服务器。它是一个非常普通的设置和配置(我还声明了 spring-cloud-starter-netflix-ribbon 和 spring-cloud-starter-kubernetes-all 依赖项,允许 Spring Feign 使用 k8s 服务发现)。
我的应用声明了一个带有 @SpringFeign 注释的接口,其中包含一个调用远程服务的方法S。
所以通常 zipkin 从我的应用程序中获取跨度(例如传入的 REST 调用),并且 B3 标头通过 HTTP 传播到通过 feign 调用的服务 S。
但是 zipkin 没有报告我的应用程序代表 Feign 对 S 的调用的跨度。 那是应该“刚刚发生”的事情,还是我错过了一块拼图?
我可以例如将@NewSpan 添加到 feign 接口方法中,但这并没有给我作为 span 标签的请求/响应的 HTTP 详细信息。如果这应该开箱即用,我宁愿不这样做。
【问题讨论】:
标签: spring-boot spring-cloud-feign spring-cloud-sleuth zipkin