用 Rust 编写的高性能可观测性数据管道,用于采集、转换和路由日志与指标。
warpstreamlabs/bento
用 Go 编写的流处理器,连接消息队列、云服务和数据库,并支持在中间对数据进行转换。
- Star
- 2,168
- Fork
- 236
- 未关闭 Issue
- 153
- 最近提交
- 6分钟前
这是什么?
Bento 是一个用 Go 编写的流处理器,可以从 Kafka、NATS、Redis Streams、AWS 与 GCP 服务以及 SQL 数据库等来源读取数据,经过一系列处理器处理后写入目标端。流水线使用 YAML 声明,简单的场景只需一个配置文件即可运行。
处理阶段支持数据补全、转换和过滤,并可使用内置的映射语言 Bloblang 重构消息内容。Bento 采用进程内事务模型,不依赖磁盘持久化状态,在对接至少一次投递的源和目标时,力求在进程崩溃等故障下仍保证至少一次投递。它以静态二进制、Docker 镜像或无服务器函数的形式部署。
项目提供存活与就绪检查接口,可将指标输出到 Statsd、Prometheus 等系统,并支持 OpenTelemetry 链路追踪。自定义组件可以通过 Go 插件方式扩展。本仓库是原项目在许可证变更之前的一个分支。
核心功能
- 01可作为输入或输出对接 Kafka、NATS、Redis、AWS、GCP、Azure 及 SQL 数据库等。
- 02使用 YAML 声明流水线,并内置映射语言 Bloblang 进行数据转换。
- 03在源和目标支持的前提下,无需磁盘状态即可实现至少一次投递。
- 04提供静态二进制、Docker 镜像和无服务器函数三种部署方式。
- 05提供 /ping 与 /ready 健康检查接口,并支持 Prometheus、Statsd 和 OpenTelemetry。
- 06支持用 Go 编写自定义插件来扩展组件。
适用场景
- 将 Kafka 或 NATS 中的事件经轻量转换后写入数据库或搜索索引。
- 在消息进入下游服务之前进行数据补全或过滤。
- 在 AWS Kinesis、GCP Pub/Sub 等云服务与其他消息系统之间做桥接。
- 在容器中运行轻量流水线,而无需部署更重的流处理平台。
快速上手
- 1
拉取 Docker 镜像
docker pull ghcr.io/warpstreamlabs/bento - 2
使用 Docker 运行 Bento,并挂载你的配置文件
docker run --rm -v /path/to/your/config.yaml:/bento.yaml ghcr.io/warpstreamlabs/bento
使用前须知
- README 称发布流程仍在完善中,目前还没有标准的二进制安装方式。
- 项目元数据中未明确标注许可证。
- 部分组件(如 zmq4)需要外部 C 库和特殊的构建标签。
标签
常见问题
- bento 是什么?
- 用 Go 编写的流处理器,连接消息队列、云服务和数据库,并支持在中间对数据进行转换。 Bento 是一个用 Go 编写的流处理器,可以从 Kafka、NATS、Redis Streams、AWS 与 GCP 服务以及 SQL 数据库等来源读取数据,经过一系列处理器处理后写入目标端。流水线使用 YAML 声明,简单的场景只需一个配置文件即可运行。
- bento 可以免费使用吗?用的什么许可证?
- bento 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- bento 还在维护吗?
- 活跃维护中。bento 最近一次提交是在 2026年10月22日。
- bento 适合用来做什么?
- 将 Kafka 或 NATS 中的事件经轻量转换后写入数据库或搜索索引。 在消息进入下游服务之前进行数据补全或过滤。 在 AWS Kinesis、GCP Pub/Sub 等云服务与其他消息系统之间做桥接。 在容器中运行轻量流水线,而无需部署更重的流处理平台。
- bento 怎么安装和运行?
- 拉取 Docker 镜像: docker pull ghcr.io/warpstreamlabs/bento 使用 Docker 运行 Bento,并挂载你的配置文件: docker run --rm -v /path/to/your/config.yaml:/bento.yaml ghcr.io/warpstreamlabs/bento
- 在哪里获取 bento?
- 源代码和安装说明在 GitHub 上:https://github.com/warpstreamlabs/bento
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Rust 引擎的 Python ETL 框架,用于流处理、实时分析、LLM 管道和 RAG。
基于 Rust 的流式数据处理引擎,可对 Kafka、MQTT、NATS 等来源的实时数据执行 SQL、Python 函数和 AI 推理。
开源数据搬运平台,用于 ELT 管道,把 API、数据库和文件中的数据同步到数据仓库、数据湖和 AI 应用。
将云基础设施与 SaaS 元数据同步到数据仓库、支持 SQL 查询的数据管道与 CLI 工具。
Apache NiFi 是一个通过浏览器界面设计、控制和监控数据流的系统,用于在不同来源与目标之间自动处理和分发数据。