F5与Microsoft合作推进采用Apache Arrow的OpenTelemetry第二阶段

F5生态系统 | 2025年6月09日

F5正与Microsoft合作推进基于Apache Arrow的开源OpenTelemetry项目(OTAP)第二阶段。该项目将使用Apache Arrow记录批次,在SDK、代理、收集器和后端之间使用OpenTelemetry数据,并对其进行处理和导出。第一阶段显著提升了遥测数据压缩率。在此成果基础上,第二阶段旨在通过基于Rust、原生支持Arrow的数据处理管道,进一步拓展OpenTelemetry的能力边界。

F5与Microsoft将在OpenTelemetry with Apache Arrow项目第二阶段开展合作,开发集成Apache Arrow生态系统的高性能遥测管道,适用于从小规模到大规模的多种应用场景。我们正在使用Rust语言创建新的遥测管道库,并计划通过与现有OpenTelemetry Collector集成来提供此功能。

此次合作有望以创新方式提升遥测系统的性能,不仅将成为OpenTelemetry发展的重要里程碑,也将对更广泛的Apache Arrow和Rust生态系统产生重要意义。我们对这一方案充满信心,目前正积极实施这条基于Rust的新管道,并开展广泛的性能基准测试,以清晰展示相关进展。

回顾:第一阶段取得成功

采用Apache Arrow的OpenTelemetry第1阶段设定了宏大的目标。通过对OpenTelemetry协议(OTLP)进行创新,这一阶段显著优化了遥测数据传输。与标准OTLP协议相比,压缩率提升了30%–70%,这一显著成果为后续工作奠定了基础。

但第1阶段只是冰山一角。它证明了OpenTelemetry与Apache Arrow相结合的强大能力,并为一项更宏大的任务奠定了基础:将整个OpenTelemetry管道转变为高性能的列式数据处理引擎。

第2阶段:引入Rust和Arrow

在第2阶段,F5与Microsoft将进一步优化性能,开发完全由Rust和Apache Arrow驱动的原生OpenTelemetry管道,目标是为Golang收集器构建Rust管道。这将显著改善CPU利用率、内存效率、吞吐量和延迟,从而打造更高效的数据处理生态系统。

“此次合作有望显著提升遥测系统的性能,不仅将成为OpenTelemetry发展的重要里程碑,也将对更广泛的Apache Arrow和Rust生态系统产生深远影响。”

我们的目标还包括兼顾优化数据压缩、加速数据处理,以及与现代列式可观测性技术高效集成,从而使这项计划有别于STEF等主要专注于数据压缩的项目。

全面采用Rust的决定在技术社区引发了热烈反响,也带来了一些争议。毕竟,OpenTelemetry的Collector项目历来使用Golang构建。那么,为什么选择Rust?

为何Rust与Apache Arrow堪称理想搭档

Rust和Apache Arrow堪称数据处理领域的默契搭档。这两项技术在多个重要方面优势互补,因此Rust非常适合用于第2阶段的开发。以下是其中几个原因:

  • 无需垃圾回收器即可实现内存安全和高性能: Rust对内存安全的高度重视可确保数据管道兼具稳健性和安全性,并尽可能降低数据损坏或段错误等风险。再结合Rust的低开销、零成本抽象等性能特性,便能高效处理Apache Arrow所支持的高速、大容量遥测数据。
  • 列式数据处理:Apache Arrow是零复制列式数据处理领域广泛采用的框架。它已广泛应用于现代数据湖,并支持Parquet、Delta Lake和Iceberg等系统。通过与Arrow原生集成,可以与Apache DataFusion等强大的分析引擎及支持Arrow的数据湖无缝、高效地交换数据。
  • 零拷贝设计:Apache Arrow的零拷贝范式与Rust对直接内存访问的重视高度契合。这两项技术相结合,可消除序列化和反序列化开销,从而高效处理大型数据流,避免浪费CPU周期。
  • 蓬勃发展的生态系统:Apache Arrow的Rust生态系统蓬勃发展。F5和Microsoft在第2阶段选择Rust,借助这一活跃的社区,实现与Apache DataFusion等强大库和框架的集成。这些连接为新的应用场景创造了可能,尤其是与用于分析和机器学习的大规模数据湖集成。尽管该项目仍处于早期阶段,但已引起多家专注于可观测性数据库的公司关注。

不止于性能:拓展更多可能

在Rust和Apache Arrow的引领下,OpenTelemetry with Apache Arrow不仅致力于改善性能指标,还为其在遥测和数据生态系统中的广泛采用奠定了基础。

设想这样一个场景:遥测管道可以无缝嵌入数据湖,并直接连接到面向列的分析平台。这种端到端的零复制管道将使遥测数据能够从生产环境顺畅流向下游系统,从而实现过去在OpenTelemetry中难以想象的集成。

第2阶段通过保障可嵌入性、优先实施严格的内存控制,并支持每核一线程的运行时,确保这种基于Rust的范式不仅能带来超出预期的性能,也能让开发者和企业轻松采用。

统一方法:Rust与Go相结合

尽管Rust备受关注,但第2阶段并不意味着放弃Golang。事实上,F5和Microsoft正采取审慎措施,确保Go与Rust管道之间的兼容性。使用Golang编写的适配器和现有OpenTelemetry Collector组件将继续获得支持和维护。这可确保互操作性,使组织能够为自身工作流选择合适的工具集,而不受限于单一语言。

这种统一方法与OpenTelemetry发展而非割裂生态系统的承诺一致。通过将Rust和Go管道连接为互联工作流的一部分,此次合作确保不同类型的用户都能继续使用OpenTelemetry。

行业认可与贡献

OpenTelemetry治理委员会已认可第2阶段,并认识到在与更广泛的OpenTelemetry生态系统保持协调的同时,探索基于Rust的创新十分重要。F5的贡献(例如“Beaubourg”库)已为后续工作奠定了坚实基础。

F5与Microsoft携手推进这项工作,不仅在优化性能,也在为遥测领域开拓令人期待的新可能。对创新的投入充分体现了OpenTelemetry致力于持续推动开源遥测系统前沿发展的决心。

接下来是什么?

对于关注OpenTelemetry与Apache Arrow协同进展的人士而言,第2阶段在效率、可扩展性和灵活性方面实现了显著提升。通过充分发挥Rust和Apache Arrow的潜力,此次合作有望重新定义遥测数据的生成、处理和使用方式。

技术社区正期待这一宏大阶段的成果。有一点很明确:OpenTelemetry与Apache Arrow的结合正在助力塑造分布式可观测性系统的未来。

敬请关注,进一步了解第2阶段的进展,以及该项目如何为高性能列式数据的未来铺平道路。让我们构建大规模系统,并加速实现。

F5与Microsoft的合作体现了开源创新精神。我们期待看到这些努力如何推动OpenTelemetry发展,让所有人从中受益。我们携手前行,不仅是在采用现代工具,更是在重新定义技术的可能性。如需了解更多信息,请阅读Microsoft博客文章。

分享
标签: 2025

相关博客文章

F5纪念2021年世界艾滋病日
F5生态系统 | 2021/12/01

F5纪念2021年世界艾滋病日

值此世界艾滋病日,F5郑重承诺,将与员工、客户、社区和合作伙伴共同努力,消除社会对HIV感染者仍然存在的污名与偏见。

Thingbot正转变为攻击平台
F5生态系统 | 2018/11/29

Thingbot正转变为攻击平台

Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。

借助F5全新Quick Start,在AWS上快速开展业务
F5生态系统 | 2018/11/20

借助F5全新Quick Start,在AWS上快速开展业务

在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。

为什么声明式模型对NetOps自动化至关重要?
F5生态系统 | 2018/04/30

为什么声明式模型对NetOps自动化至关重要?

为什么声明式模型对NetOps自动化至关重要?阅读F5博客,了解基础设施即代码如何简化网络扩展。

开源聚焦:F5基础设施即代码与多云可管理性
F5生态系统 | 2017/11/16

开源聚焦:F5基础设施即代码与多云可管理性

开源聚焦:基础设施即代码与多云。阅读博客,了解模板和Terraform如何简化F5应用服务的部署。

破解IT“无解困局”的答案:私有云
F5生态系统 | 2016/09/12

破解IT“无解困局”的答案:私有云

破解IT“无解困局”的答案:私有云。阅读F5博客,了解本地部署的敏捷性如何化解安全与速度难以兼顾的问题。