Repolode
warpstreamlabs

warpstreamlabs/bento

Un procesador de flujos escrito en Go que conecta brokers de mensajes, servicios en la nube y bases de datos, y transforma los payloads mediante un lenguaje de mapeo.

Estrellas
2,168
Forks
236
Issues abiertos
153
Último commit
hace 20 minutos

¿Qué es?

Bento es un procesador de flujos escrito en Go. Lee datos de fuentes como Kafka, NATS, Redis streams, servicios de AWS y GCP, y bases de datos SQL; los procesa en una cadena de procesadores y los escribe en destinos. Las pipelines se definen en YAML, por lo que una configuración básica puede caber en un solo archivo de configuración.

Las etapas de procesamiento incluyen el enriquecimiento, la transformación y el filtrado. Los payloads se reestructuran con Bloblang, el lenguaje de mapeo integrado de Bento. La entrega se gestiona con un modelo de transacciones en proceso, sin estado en disco, por lo que, con fuentes y destinos que admiten la entrega al menos una vez, busca mantenerla incluso ante fallos. Bento se distribuye como binario estático, imagen de Docker o función serverless.

Ofrece endpoints de liveness y readiness, emite métricas a Statsd, Prometheus y otros backends, y genera trazas de OpenTelemetry. Se pueden añadir componentes personalizados como plugins de Go. Este repositorio es un fork del proyecto original, creado antes del cambio de licencia.

Funciones clave

  • 01Se conecta a Kafka, NATS, Redis, AWS, GCP, Azure, bases de datos SQL y más, tanto como entrada como salida.
  • 02Pipelines declarativas en YAML con Bloblang, un lenguaje de mapeo integrado.
  • 03Ofrece entrega al menos una vez sin estado en disco cuando las fuentes y los destinos lo admiten.
  • 04Se distribuye como binario estático, imagen de Docker o función serverless.
  • 05Ofrece endpoints de salud /ping y /ready, además de observabilidad con Prometheus, Statsd y OpenTelemetry.
  • 06Admite componentes personalizados escritos como plugins de Go.

Casos de uso

  • Mover eventos de Kafka o NATS a una base de datos o índice de búsqueda con transformaciones sencillas.
  • Enriquecer o filtrar un flujo de mensajes antes de que llegue a los servicios posteriores.
  • Conectar servicios en la nube como AWS Kinesis o GCP Pub/Sub con otros brokers.
  • Ejecutar una pipeline ligera en contenedores sin operar una plataforma de streaming más pesada.

Inicio rápido

  1. 1

    Descarga la imagen de Docker

    docker pull ghcr.io/warpstreamlabs/bento
  2. 2

    Ejecuta Bento en Docker con el archivo de configuración montado

    docker run --rm -v /path/to/your/config.yaml:/bento.yaml ghcr.io/warpstreamlabs/bento

Antes de usarlo

  • El README indica que el proceso de lanzamiento aún está en desarrollo, por lo que todavía no hay una instalación binaria estándar.
  • La licencia no está claramente identificada en los metadatos del proyecto.
  • Algunos componentes necesitan bibliotecas C externas y una etiqueta de compilación especial, como zmq4.

Temas

Preguntas frecuentes

¿Qué es bento?
Un procesador de flujos escrito en Go que conecta brokers de mensajes, servicios en la nube y bases de datos, y transforma los payloads mediante un lenguaje de mapeo. Bento es un procesador de flujos escrito en Go. Lee datos de fuentes como Kafka, NATS, Redis streams, servicios de AWS y GCP, y bases de datos SQL; los procesa en una cadena de procesadores y los escribe en destinos. Las pipelines se definen en YAML, por lo que una configuración básica puede caber en un solo archivo de configuración.
¿bento es gratuito? ¿Qué licencia tiene?
bento es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿bento sigue mantenido?
Mantenimiento activo. El último commit de bento fue el 22 oct 2026.
¿Para qué puedo usar bento?
Mover eventos de Kafka o NATS a una base de datos o índice de búsqueda con transformaciones sencillas. Enriquecer o filtrar un flujo de mensajes antes de que llegue a los servicios posteriores. Conectar servicios en la nube como AWS Kinesis o GCP Pub/Sub con otros brokers. Ejecutar una pipeline ligera en contenedores sin operar una plataforma de streaming más pesada.
¿Cómo se instala bento?
Descarga la imagen de Docker: docker pull ghcr.io/warpstreamlabs/bento Ejecuta Bento en Docker con el archivo de configuración montado: docker run --rm -v /path/to/your/config.yaml:/bento.yaml ghcr.io/warpstreamlabs/bento
¿Dónde consigo bento?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/warpstreamlabs/bento

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados