禁用 AMQP 与 Sleuth 的集成

Disable AMQP integration with Sleuth

我有一个 Java Spring-基于云的微服务与 RabbitMQ 集成,使用 Spring Boot Starter AMQP(摘自下面的 pom.xml):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

现在我想使用 Sleuth 将此服务连接到 Zipkin 监控。根据 documentation,当启用 AMQP 支持时,Sleuth 通过 RabbitMQ 队列发送其所有数据。出于某种原因,我想禁用此默认行为并通过 HTTP 发送数据。可能有一种魔法 属性 我找不到。你知道我如何强制我的应用程序通过 HTTP 将 Sleuth 相关数据发送到 Zipkin 服务器(也是一个带有 @EnableZipkinServer 注释的 Spring 启动应用程序)吗?

此外,我想提一下,在删除 AMQP 支持后一切正常,即 Zipkin 通过 HTTP 接收跟踪数据。

此外,同时设置 spring.zipkin.collector.http.enabled: truespring.zipkin.collector.amqp.enabled: false(以及 spring.zipkin.collector.rabbitmq.enabled: false)也无​​济于事。

如果您使用的是 Edgware 发布序列,只需设置 spring.zipkin.sender.type=web。这样你就可以强制基于 HTTP 的跨度发送