Repolode
warpstreamlabs

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. 1

    Загрузите образ Docker

    docker pull ghcr.io/warpstreamlabs/bento
  2. 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 обновляется ежедневно.

Похожие проекты