@EnableZipkinServer vs. @EnableZipkinStreamServer,为什么同一个东西有两个注解

@EnableZipkinServer vs. @EnableZipkinStreamServer, why are two annotation for the same thing

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

Zipkin 是一个 Spring-基于引导的项目,@EnableZipkinServer 不是 Spring 云注释。这是 Zipkin 项目的一部分的注解。这通常会使 Spring Cloud Sleuth 和 Zipkin 的新手感到困惑,因为 Spring Cloud 团队确实将 @EnableZipkinStreamServer 注释编写为 Spring Cloud Sleuth 的一部分。 @EnableZipkinStreamServer 注释简化了 Zipkin 与 RabbitMQ 和 Kafka 的使用。

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