我有一个使用 Spring Boot Starter AMQP 与 RabbitMQ 集成的基于 Java Spring-Cloud 的微服务(从pom.xml
下面摘录):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
现在我想使用 Sleuth 将此服务连接到 Zipkin 监控。根据文档,启用 AMQP 支持后,Sleuth 通过 RabbitMQ 队列发送其所有数据。出于某种原因,我想禁用此默认行为并通过 HTTP 发送数据。可能有一个我找不到的神奇属性。你知道如何强制我的应用程序通过 HTTP 将 Sleuth 相关数据发送到 Zipkin 服务器(也是带有@EnableZipkinServer
注释的 Spring Boot 应用程序)吗?
另外我想提一下,在删除 AMQP 支持后一切正常,即 Zipkin 通过 HTTP 接收跟踪数据。
此外,同时设置spring.zipkin.collector.http.enabled: true
and spring.zipkin.collector.amqp.enabled: false
(and spring.zipkin.collector.rabbitmq.enabled: false
) 也无济于事。