我使用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监控。根据{{3}},当启用AMQP支持时,Sleuth通过RabbitMQ队列发送其所有数据。出于某种原因,我想禁用此默认行为并通过HTTP发送数据。可能有一个我找不到的魔法属性。您知道我如何强制我的应用程序通过HTTP将与Sleuth相关的数据发送到Zipkin服务器(也是带有@EnableZipkinServer
注释的Spring Boot应用程序)?
另外我想提一下,在删除AMQP支持后一切正常,即Zipkin通过HTTP接收跟踪数据。
此外,设置spring.zipkin.collector.http.enabled: true
和spring.zipkin.collector.amqp.enabled: false
(以及spring.zipkin.collector.rabbitmq.enabled: false
)也无济于事。
答案 0 :(得分:2)
如果您正在使用Edgware版本系列,请设置spring.zipkin.sender.type=web
。这样就可以强制发送基于HTTP的跨度发送