Pipeline de observabilidad de alto rendimiento escrito en Rust que recopila, transforma y enruta logs y métricas a cualquier destino.
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
Descarga la imagen de Docker
docker pull ghcr.io/warpstreamlabs/bento - 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
Framework ETL de Python para procesamiento de streams, analítica en tiempo real, pipelines de LLM y RAG, impulsado por un motor Rust.
Motor de procesamiento de streams en Rust que ejecuta SQL, UDF de Python y pasos de ML/LLM sobre datos en tiempo real de Kafka, MQTT, NATS y otras fuentes.
Plataforma open source para mover datos en pipelines ELT desde APIs, bases de datos y archivos hacia almacenes, lagos y aplicaciones de IA.
CLI y pipeline de datos que sincroniza metadatos de infraestructura cloud y SaaS con un almacén de datos para consultarlos con SQL, inventariar activos y analizar la seguridad.
Apache NiFi permite automatizar, enrutar y supervisar flujos de datos entre orígenes y destinos desde una interfaz web.