Высокопроизводительный конвейер observability на Rust для сбора, преобразования и маршрутизации логов и метрик в любые системы назначения.
warpstreamlabs/bento
Потоковый процессор на Go, который связывает брокеры сообщений, облачные сервисы и базы данных и преобразует данные с помощью языка маппинга.
- Звёзды
- 2,168
- Форки
- 236
- Открытые issues
- 153
- Последний коммит
- 4 часа назад
Что это?
Bento — потоковый процессор на Go. Он читает данные из источников, таких как Kafka, NATS, Redis streams, сервисы AWS и GCP, а также SQL-базы данных, пропускает их через цепочку процессоров и записывает в приемники. Конвейеры задаются в YAML, поэтому для простой настройки достаточно одного файла конфигурации.
Этапы обработки включают обогащение, преобразование и фильтрацию, а структура payload меняется с помощью Bloblang — встроенного языка маппинга Bento. Доставка работает на основе транзакционной модели в одном процессе без хранения состояния на диске. Если источники и приемники поддерживают доставку «как минимум один раз», Bento стремится сохранить этот режим и при сбоях. Bento поставляется в виде статического бинарного файла, Docker-образа или бессерверной функции.
Bento предоставляет эндпоинты для проверки доступности и готовности, отправляет метрики в 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 в базу данных или поисковый индекс с небольшим преобразованием данных.
- Обогащение или фильтрация потока сообщений перед передачей downstream-сервисам.
- Связывание облачных сервисов, таких как AWS Kinesis или GCP Pub/Sub, с другими брокерами.
- Запуск легковесного конвейера в контейнере без необходимости обслуживать более тяжёлую платформу потоковой обработки.
Быстрый старт
- 1
Загрузите образ Docker
docker pull ghcr.io/warpstreamlabs/bento - 2
Запустите Bento в Docker, смонтировав файл конфигурации
docker run --rm -v /path/to/your/config.yaml:/bento.yaml ghcr.io/warpstreamlabs/bento
Что важно знать
- Согласно README, процесс выпуска всё ещё находится в разработке, поэтому стандартного способа установки бинарного файла пока нет.
- Лицензия не указана явно в метаданных проекта.
- Некоторым компонентам требуются внешние библиотеки C и специальный тег сборки, например zmq4.
Темы
Частые вопросы
- Что такое bento?
- Потоковый процессор на Go, который связывает брокеры сообщений, облачные сервисы и базы данных и преобразует данные с помощью языка маппинга. Bento — потоковый процессор на Go. Он читает данные из источников, таких как Kafka, NATS, Redis streams, сервисы AWS и GCP, а также SQL-базы данных, пропускает их через цепочку процессоров и записывает в приемники. Конвейеры задаются в YAML, поэтому для простой настройки достаточно одного файла конфигурации.
- bento можно использовать бесплатно? Какая у него лицензия?
- bento распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- bento всё ещё поддерживается?
- Активно поддерживается. Последний коммит в bento — 22 окт. 2026 г..
- Для чего можно использовать bento?
- Перенос событий из Kafka или NATS в базу данных или поисковый индекс с небольшим преобразованием данных. Обогащение или фильтрация потока сообщений перед передачей downstream-сервисам. Связывание облачных сервисов, таких как AWS Kinesis или GCP Pub/Sub, с другими брокерами. Запуск легковесного конвейера в контейнере без необходимости обслуживать более тяжёлую платформу потоковой обработки.
- Как установить bento?
- Загрузите образ Docker: docker pull ghcr.io/warpstreamlabs/bento Запустите Bento в Docker, смонтировав файл конфигурации: docker run --rm -v /path/to/your/config.yaml:/bento.yaml ghcr.io/warpstreamlabs/bento
- Где скачать bento?
- Исходный код и инструкции по установке — на GitHub: https://github.com/warpstreamlabs/bento
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Python-фреймворк ETL для потоковой обработки, аналитики в реальном времени, LLM-пайплайнов и RAG на базе движка на Rust.
Механизм потоковой обработки данных на Rust: выполняет SQL-запросы, Python UDF и шаги ML/LLM над потоками реального времени из Kafka, MQTT, NATS и других источников.
Open-source платформа для перемещения данных в ELT-пайплайнах: из API, баз данных и файлов в хранилища, озёра данных и AI-приложения.
CLI и конвейер данных для синхронизации метаданных облачной и SaaS-инфраструктуры с хранилищем данных — для SQL-запросов, инвентаризации ресурсов и анализа безопасности.
Apache NiFi автоматизирует маршрутизацию и мониторинг потоков данных между источниками и получателями через браузерный интерфейс.