带有 OpenTracing 的 Spring Cloud Sleuth
Posted
技术标签:
【中文标题】带有 OpenTracing 的 Spring Cloud Sleuth【英文标题】:Spring Cloud Sleuth with OpenTracing 【发布时间】:2017-10-25 06:41:25 【问题描述】:有没有办法将 Spring Cloud Sleuth 与 OpenTracing 一起使用?我想用 Jaeger 连接 Spring 客户端
【问题讨论】:
您可以尝试在gitter.im/spring-cloud/spring-cloud询问 此外,Jaeger 现在有一个 HTTP 端点,可以接收 Zipkin Thrift 格式的 span。但是由于 Sleuth 不支持 OpenTracing,因此您实际上无法将 Jaeger Java 客户端与它一起使用,因此会缺少它提供的许多功能,例如自适应采样。 @Javier 你有解决这个问题的办法吗? 不是,但现在我只是改变策略,使用 Spring 内置的。 【参考方案1】:Spring Sleuth 现在兼容 OpenTracing。您所要做的就是在您的类路径中使用 OpenTracing Jars。
然后您可以使用 Sleuth-Zipkin 将检测数据发送到 Jaeger 的 Zipkin 收集器。
这样你就可以用最少的配置实现你想要的一切。
您可以在这里使用我的示例程序作为示例:
https://github.com/anoophp777/spring-webflux-jaegar-log4j2
【讨论】:
【参考方案2】:这里正在进行讨论 - https://github.com/spring-cloud/spring-cloud-sleuth/issues/599。一般来说,我们不明确使用 OpenTracing API,但在标头传播方面我们与 Zipkin 兼容。您还可以根据需要操作标头名称,因此如果您使用的任何类型的库需要跨度/跟踪等其他标头名称,那么您可以根据需要自行设置。
【讨论】:
以上是关于带有 OpenTracing 的 Spring Cloud Sleuth的主要内容,如果未能解决你的问题,请参考以下文章
如何在 opentracing 中更改 trace-id 标头?
Jaeger-Opentracing的Java-client
Golang微服务:Micro Trace使用opentracing jaeger