F5 正在与微软合作开展 Apache Arrow (OTAP) 开源 OpenTelemetry 项目的第二阶段。 作为该项目的一部分,OpenTelemetry 数据将使用 Apache Arrow 记录批次从 SDK 消费、处理和导出到代理、收集器和后端。 在第一阶段成功的基础上,遥测数据压缩率得到了显著提高,下一章旨在通过基于 Rust、Arrow 原生的数据处理管道进一步突破 OpenTelemetry 的界限。
F5 与微软在 OpenTelemetry 与 Apache Arrow 项目第二阶段的合作将开发与 Apache Arrow 生态系统集成的高性能遥测管道,并提供一系列适用于小规模和大规模用途的应用。 我们正在用 Rust 语言创建新的遥测管道库,并旨在通过与现有的 OpenTelemetry Collector 集成来提供此功能。
此次合作有望为遥测系统带来创新的性能增强,这不仅对 OpenTelemetry 来说是一个重要的里程碑,而且对更广泛的 Apache Arrow 和 Rust 生态系统来说也是一个重要的里程碑。 我们对我们的方法充满信心,目前正在积极实施这个新的基于 Rust 的管道,并进行广泛的性能基准测试,以清楚地展示这些进步。
OpenTelemetry 与 Apache Arrow 的第一阶段制定了雄心勃勃的目标。 通过在开放遥测协议 (OTLP) 中引入创新,此阶段以前所未有的方式优化了遥测数据传输。 与标准 OTLP 协议相比,压缩率提高了 30%-70%,这是一项了不起的成就,为接下来的工作奠定了基础。
但第一阶段只是冰山一角。 它证明了 OpenTelemetry 和 Apache Arrow 相结合的威力,并为更大的使命奠定了基础:将整个 OpenTelemetry 管道转变为高性能、列式数据处理强大引擎。
在第 2 阶段,F5 和微软将深入研究性能优化,开发由 Rust 和 Apache Arrow 提供支持的完全原生的 OpenTelemetry 管道,目标是为 Golang 收集器构建 Rust 管道。 这将显著提高 CPU 利用率、内存效率、吞吐量和延迟,所有这些都有助于建立更高效的数据处理生态系统。
我们的目标还在于平衡最佳数据压缩、加速数据处理和与现代列式可观测性的有效集成,使该计划有别于主要关注压缩的其他项目(例如 STEF)。
全力投入 Rust 的决定在技术界引起了兴奋,但也引发了一些争议。 毕竟,OpenTelemetry 的 Collector 项目传统上是使用 Golang 构建的。 那么为什么是 Rust?
Rust 和 Apache Arrow 就像数据处理领域最好的朋友。 两种技术以深刻的方式相互补充,使 Rust 成为第二阶段开发的理想选择。 以下仅列举几个原因:
在 Rust 和 Apache Arrow 的领导下,采用 Apache Arrow 的 OpenTelemetry 不仅仅解决了性能指标,还为遥测和数据生态系统的更广泛采用奠定了基础。
想象一下,遥测管道可以无缝嵌入数据湖,提供与面向列的分析平台的直接连接。 这种端到端、零拷贝管道将允许遥测数据从生产系统无缝流向下游系统,从而实现 OpenTelemetry 中以前无法想象的集成。
通过保障可嵌入性、优先考虑严格的内存控制以及启用每核线程运行时支持,第 2 阶段确保这种基于 Rust 的范例不仅能够超越预期,而且还能为开发人员和企业所用。
尽管 Rust 备受关注,但第二阶段并不意味着抛弃 Golang。 事实上,F5 和微软正在采取谨慎的措施来确保 Go 和 Rust 管道之间的兼容性。 用 Golang 编写的适配器和现有的 OpenTelemetry Collector 组件将继续得到支持和维护。 这确保了互操作性,使组织能够为其工作流程选择最佳的工具集,而不会被锁定在单一语言中。
这种统一的方法符合 OpenTelemetry 致力于发展生态系统而不是破坏生态系统的承诺。 通过将 Rust 和 Go 管道作为互连工作流的一部分进行桥接,此次协作确保了 OpenTelemetry 仍然可供其多样化的用户群访问。
OpenTelemetry 治理委员会已批准第二阶段,认识到探索基于 Rust 的创新同时保持更广泛的 OpenTelemetry 生态系统和谐的重要性。 F5 的贡献,例如“Beaubourg”库,已经为我们提供了坚实的基础。
F5 和微软在这一领域的合作不仅优化了性能,还为遥测领域打开了激动人心的可能性之门。 这项对创新的投资充分说明了 OpenTelemetry 致力于保持开源遥测系统领先地位。
对于那些使用 Apache Arrow 跟踪 OpenTelemetry 进展的人来说,第 2 阶段代表着效率、可扩展性和灵活性的飞跃。 通过充分利用 Rust 和 Apache Arrow 的潜力,此次合作有可能重新定义遥测数据的生成、处理和使用方式。
当技术社区等待这一雄心勃勃的阶段的成果时,有一件事是清楚的——Apache Arrow 的 OpenTelemetry 正在帮助塑造分布式可观测系统的未来。
请继续关注有关第二阶段发展的更多见解以及该项目如何为高性能、列式数据的未来铺平道路。 让我们建大一点,并且建得快一点。
F5 和微软的合作体现了开源创新的精神,我们很高兴看到这些努力如何为我们所有人提升 OpenTelemetry。 我们共同努力,不仅采用了现代工具,还重新定义了一切可能。 要了解更多信息,请阅读 Microsoft 博客文章。