禁用 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: true
和 spring.zipkin.collector.amqp.enabled: false
(以及 spring.zipkin.collector.rabbitmq.enabled: false
)也无济于事。
如果您使用的是 Edgware 发布序列,只需设置 spring.zipkin.sender.type=web
。这样你就可以强制基于 HTTP 的跨度发送
我有一个 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: true
和 spring.zipkin.collector.amqp.enabled: false
(以及 spring.zipkin.collector.rabbitmq.enabled: false
)也无济于事。
如果您使用的是 Edgware 发布序列,只需设置 spring.zipkin.sender.type=web
。这样你就可以强制基于 HTTP 的跨度发送