1

我有一个使用 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: trueand spring.zipkin.collector.amqp.enabled: false(and spring.zipkin.collector.rabbitmq.enabled: false) 也无济于事。

4

1 回答 1

3

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

于 2018-01-11T22:38:24.167 回答