zipkin和Spring Cloud Bus冲突导致链路追踪收集不到信息的解决方案

1、依赖环境

spring boot 2.0.4.RELEASE、spring cloud Finchley.RELEASE
spring-cloud-starter-zipkin + 部署在Docker的zipkin链路追踪器
spring-cloud-starter-bus-amqp 消息总线

2、问题表述

项目同时使用 rabbitmq和spring-cloud-starter-bus-amqp 会导致 zipkin收集不到信息

3、原因

spring-cloud-starter-bus-amqp 中包含了 spring-rabbit的全部组件。
在引入 spring-cloud-starter-zipkin 后,默认与zipkin通信使用的是 http的方式。
同时引入 spring-rabbit后,与zipkin通信会变成使用rabbitmq。

4、解决方法

修改配置文件中zipkin.sender.type的属性,type=[RABBIT, KAFKA, WEB]有三个值,设为WEB既使用http的方式向zipkin通信。

5、其他

当然也可以配置zipkin使用rabbitmq进行信息收集。(待总结)

你可能感兴趣的:(zipkin和Spring Cloud Bus冲突导致链路追踪收集不到信息的解决方案)