首页 > 解决方案 > @EnableZipkinServer vs. @EnableZipkinStreamServer,为什么同一件事有两个注解

问题描述

我正在创建一个 zipkin 服务器,并且我看到了使用 @EnableZipkinServer 和其他使用 @EnableZipkinStreamServer 注释 boostrap 类的教程。我很难理解这两者之间有什么区别。它们可以互换吗?

标签: javaspring-bootspring-cloudzipkin

解决方案


Zipkin 是一个基于 Spring-Boot 的项目,@EnableZipkinServer 不是 Spring Cloud 注解。这是 Zipkin 项目中的一个注释。这常常使不熟悉 Spring Cloud Sleuth 和 Zipkin 的人感到困惑,因为 Spring Cloud 团队确实将 @EnableZipkinStreamServer 注解作为 Spring Cloud Sleuth 的一部分编写。@EnableZipkinStreamServer 注解简化了 Zipkin 与 RabbitMQ 和 Kafka 的使用。

@EnableZipkinServer 的优点是设置简单。使用@EnableZipkinStream 服务器,您需要设置和配置被跟踪的服务以及Zipkin 服务器以发布/侦听RabbitMQ 或Kafka 以跟踪数据。@EnableZipkinStreamServer 注解的优点是您可以继续收集跟踪数据,即使Zipkin 服务器不可用。这是因为跟踪消息将在消息队列中累积跟踪数据,直到 Zipkin 服务器可用于处理记录。如果您使用 @EnableZipkinServer 注解并且 Zipkin 服务器不可用,则本应由服务发送到 Zipkin 的跟踪数据将丢失。


推荐阅读