kafka-wire
Broker de protocolo Kafka en un único binario Go sin ZooKeeper ni KRaft. Implementa grupos de consumidores, SASL/SCRAM, TLS, ACLs y métricas Prometheus. Soporta tiering a S3 o directorio local.
Ficha actualizada 24 sept 2026, 5:01 · upstream 24 sept 2026, 4:40 · release v0.1.0
Qué es kafka-wire
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
kafka-wire es un broker compatible con Kafka construido en Go que ejecuta todo el protocolo del cable (wire protocol) sin dependencias externas como ZooKeeper ni KRaft. Funciona como un único binario que actúa tanto como servidor, productor, consumidor y herramienta de administración. No requiere clúster ni coordinación externa, lo que simplifica significativamente la operación para cargas de trabajo en un solo nodo.
El proyecto implementa 19 APIs del protocolo Kafka, incluyendo gestión de grupos de consumidores, autenticación SASL/SCRAM, cifrado TLS y control de acceso (ACLs). Ofrece tiering de almacenamiento frío a directorios locales o cualquier almacén S3 compatible (MinIO, AWS, Cloudflare R2, etc.), permitiendo mover segmentos antiguos transparentemente. Las métricas se exponen vía Prometheus para monitoreo.
No es un sistema distribuido ni replica datos; si el disco falla, los datos no archivados se pierden. Está diseñado explícitamente para cargas de trabajo que caben en una máquina y donde se prefiere la propiedad del nodo sobre la operación de clúster. Requiere Go 1.26+ y ejecutarse en entornos con almacenamiento persistente y puertos TCP.
- Broker de mensajería para cargas de trabajo monolíticas o microservicios que no requieren durabilidad distribuida
- Procesamiento de streams en un solo nodo donde la simplicidad operativa es prioritaria sobre el alto rendimiento
- Integración con almacenes S3 compatibles para tiering de datos fríos sin dependencias de AWS
- Entornos de desarrollo o pruebas donde se necesita un broker Kafka ligero y autocontenido
- Implementa el protocolo Kafka wire nativamente, compatible con clientes oficiales (Java, Python, Go, Node.js) sin shims ni proxies
- Ejecuta en un único binario Go sin JVM, ZooKeeper ni KRaft, reduciendo la complejidad operativa a cero
- Tiering de almacenamiento frío a cualquier S3 compatible o directorio local con restauración transparente de offsets
- Soporta 19 APIs del protocolo Kafka incluyendo grupos de consumidores, SASL/SCRAM, TLS y ACLs
- Métricas Prometheus expuestas por defecto para observabilidad sin configuración adicional
- No es un sistema distribuido: no replica datos ni soporta failover; pérdida total si el disco falla
- No implementa InitProducerId, requiriendo desactivar idempotencia en clientes Java 3.x+ y kafka-python 3.x
- No soporta transacciones, exactamente-una vez (exactly-once), Kafka Streams ni KSQLDB
- Kafka Connect con Debezium funciona solo para conectores de fuente, no para operaciones que requieren transacciones
- Requiere almacenamiento persistente; plataformas con filesystem efímero (Cloud Run, Heroku) no son compatibles
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Desplegar en entornos con almacenamiento persistente y puertos TCP. Configurar advertisedhost/advertisedport detrás de NAT o balanceadores para evitar que los clientes se desconecten. Usar KAFKA_WIRE_AUTH_ALLOWANON=true solo en desarrollo; en producción habilitar SASL/SCRAM o TLS. Inicializar configuración con 'kafka-wire config init' y validar antes del despliegue con 'kafka-wire config validate'. Para tiering, configurar backend S3 o fs en la configuración.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.