记一次zipkin和spring cloud bus冲突

记一次zipkin和spring cloud bus冲突

  • 问题表现
  • 原因
  • 解决方法
  • 其他解决方案
  • 参考

问题表现

spring boot 版本 2.0.6
spring cloud 版本 Finchley.SR2

使用spring-cloud-starter-zipkin + 独立部署的zipkin 进行链路追踪,但是如果项目同时使用 rabbitmq和spring-cloud-starter-bus-amqp 会导致 zipkin收集不到信息

原因

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

解决方法

配置文件中加入或修改以下属性。就可以继续使用http的方式向zipkin通信。
spring.zipkin.sender.type: web

其他解决方案

1.配置zipkin使用rabbitmq进行信息收集。不再详述。

参考

https://cloud.spring.io/spring-cloud-static/Finchley.SR2/single/spring-cloud.html#sleuth-adding-project

你可能感兴趣的:(开发遇到问题积累,spring,cloud)