java - @EnableZipkinServer vs. @EnableZipkinStreamServer,为什么同一件事有两个注解
问题描述
我正在创建一个 zipkin 服务器,并且我看到了使用 @EnableZipkinServer 和其他使用 @EnableZipkinStreamServer 注释 boostrap 类的教程。我很难理解这两者之间有什么区别。它们可以互换吗?
解决方案
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 的跟踪数据将丢失。
推荐阅读
- ubuntu - 配置中的VSCode空嵌套引号字符串停止工作
- ios - 以编程方式设置集合视图标题的动态高度的最佳方法?
- android - 错误的第一个论点 tpe。找到 'my.example.muhammadusman.event_App.myregistration' ,需要:android.support.v4.app.Fragment
- sql - 如果行名称重复,则仅返回具有重复名称的行
- python - 文件夹被解释为文件
- java - 装箱值被取消装箱,然后立即重新装箱 - Double
- c# - 在线程中解码连续的数据流而不阻塞接收器
- ionic3 - 在滚动事件上将 scrollTop 传递给离子组件
- ios - UITableView 单元格上的 NSContiguousString 泄漏
- javascript - Google 在 World Cup Pin It Live 工具中使用了哪些 JavaScript、HTML、API?