分布式追踪工具Jaeger发布以OpenTelemetry为核心的版本2

Jaeger v2 发布:全面融入 OpenTelemetry 框架

Jaeger,一个领先的开源分布式追踪平台,近日发布了其第二版(v2)。这一版本标志着 Jaeger 在架构上的重大转变,全面融入了 OpenTelemetry 框架。以下是此次发布的主要内容和关键改进。

架构变革:与 OpenTelemetry Collector 框架整合

Jaeger v2 最显著的变化是其架构现在完全基于 OpenTelemetry Collector 框架。虽然 Jaeger 和 OpenTelemetry Collector 之前共享部分代码和功能,但 v2.0 彻底采用了 Collector 的架构,从而创建了一个更加简洁和可扩展的平台。

单二进制发布与简化配置

新版本以单二进制文件的形式发布,取代了 v1.0 的多个独立二进制文件。这种改变使得容器镜像更加轻量(从 40Mb 减少到 30Mb),并消除了 Jaeger 组件之间许多命令行参数的不一致性。现在,Jaeger 及其组件可以通过一个 YAML 配置文件进行灵活配置。

主要改进

  • 原生支持 OpenTelemetry 处理:v2 版本原生支持 OTLP(OpenTelemetry 协议)数据格式,无需像旧版本那样添加中间翻译步骤。
  • 高级采样技术:除了传统的基于头部的采样,v2 引入了基于尾部的采样功能,这是通过一个先前贡献给 OpenTelemetry 的采样器实现的。
  • 扩展生态系统访问:用户现在可以使用许多现有的 OpenTelemetry Collector 扩展,如 Span 到 Metric 的转换器和遥测处理工具。
  • 灵活的存储实现:Jaeger 的存储层现在被抽象化,使得查询和导出功能可以与外部存储交互,而无需专用实现。此外,批处理导出功能也得以实现,提升了与 ClickHouse 等后端的性能。

兼容性与新功能

新版本支持所有之前的存储后端,并保持完全的向后兼容性。它还引入了 Kafka 作为中间队列的支持,并为 collector、ingester 和 query 组件提供了多种部署角色的配置。

技术演进与背景

在 v2 发布前的一篇文章中,Yuri Shkuro 和 Jonah Kowall 详细介绍了这些变化的技术背景。他们解释了 Jaeger 和 OpenTelemetry Collector 团队如何紧密合作,并指出将两个项目更紧密地结合在一起是长期以来的目标。这种对齐不仅减少了 Jaeger 的代码维护量,还使其更具未来性。

社区反应与未来计划

社区对 Jaeger v2 的反应总体积极,尽管一些评论者对用户界面的改进持保留态度。Jaeger 维护者还公布了 2025 年的一些里程碑计划,包括在 OpenTelemetry Operator 中提供原生支持、开发 Helm Chart、将 ClickHouse 添加为官方存储后端,以及改进用户界面以原生支持 OpenTelemetry 数据。

总结

Jaeger v2 的发布是分布式追踪领域的一个重要里程碑,标志着 Jaeger 与 OpenTelemetry 生态系统的深度融合。通过架构简化、功能增强以及与 OpenTelemetry 的紧密集成,Jaeger v2 为开发者提供了一个更高效、更灵活和更易扩展的追踪平台。

阅读 70
0 条评论