Construido con Rust. Replicación Raft en producción. Cluster de 3 nodos activo en AWS.
Todo lo que necesitas para construir sistemas distribuidos de producción
2.1M+ mensajes/segundo con I/O zero-copy, batching optimizado y compresión por lotes
Tolerancia a fallos con elección de líder automática y failover instantáneo
Validación automática con JSON Schema vía REST y gRPC. Streaming bidireccional para validación de alta velocidad (v0.9.3+)
API gRPC de alto rendimiento con latencia en microsegundos. Streaming bidireccional para validación en batch (v0.9.3+)
Write-Ahead Log con checksums CRC32 y políticas de sync configurables
Escalabilidad horizontal con key-based routing y procesamiento paralelo
Asignación automática de particiones y rebalanceo dinámico
Métricas completas vía REST API y dashboard web moderno
Encriptación moderna, JWT, ACL y mTLS para máxima seguridad
Compactación automática de logs para optimizar storage
Clusters 3-5 nodos con failover automático y 0% downtime
Backups automáticos a S3 cada hora con retención configurable y point-in-time recovery
Recuperación automática desde snapshots locales o S3 cuando un nodo falla
Tracking y persistencia de offsets por consumer con commit manual para garantías at-least-once
Monitoreo en tiempo real de lag por partition y consumer group para detectar retrasos
Almacenamiento clave-valor distribuido con TTL, revisiones y operaciones compare-and-swap (v0.10.0+)
Almacenamiento de objetos grandes con chunking automático, SHA-256 digest y streaming (v0.10.0+)
Nodos edge para multi-datacenter con replicación selectiva y failover automático (v0.10.0+)
Patrón RPC con inbox automático, timeouts configurables y correlación de mensajes (v0.10.0+)
Captura cambios en tiempo real desde tus bases de datos relacionales y NoSQL. Similar a Kafka Connect + Debezium, pero más simple.
Captura cambios en tiempo real desde Oracle usando LogMiner
Características:
Performance:
Captura cambios con Logical Decoding (pgoutput/wal2json)
Características:
Performance:
Captura cambios usando binlog replication
Características:
Performance:
Captura cambios con Change Streams
Características:
Performance:
Los conectores se instalan como paquetes .deb independientes y corren como servicios systemd:
Diseño modular y escalable para máximo rendimiento
StreamForge está corriendo en producción con replicación Raft activa en 3 nodos (AWS us-east-2). Los 3 nodos están replicando datos continuamente con quorum 2/3 para garantizar durabilidad y alta disponibilidad.
Diseño optimizado: Cada capa está diseñada para máxima performance y confiabilidad, con separación clara de responsabilidades.
Empresas reales usando StreamForge para cargas críticas
Hospitales usan StreamForge para capturar cambios de Oracle HIS en tiempo real y sincronizar con SAP S/4HANA para integración de sistemas clínicos
Beneficios clave:
Procesamiento de millones de transacciones financieras con garantías ACID
Beneficios clave:
Órdenes, inventory y notificaciones en tiempo real para retail online
Beneficios clave:
Captura cambios de Oracle/PostgreSQL y los envía a S3/Parquet para analytics
Beneficios clave:
Invalida cachés de Redis/Memcached cuando cambian datos en la base de datos
Beneficios clave:
Stream de eventos a Elasticsearch, ClickHouse o Power BI para dashboards en vivo
Beneficios clave:
Desde instalación básica hasta clusters de producción con CDC
# Descargar el paquete .deb
wget https://repo.streamforge.app/streamforge_0.10.0_amd64.deb
# Instalar
sudo dpkg -i streamforge_0.10.0_amd64.deb
# Iniciar el broker
sudo systemctl start streamforge
sudo systemctl enable streamforge# Verificar status
sudo systemctl status streamforge
# Ver logs
sudo journalctl -u streamforge -f
# Verificar API
curl http://localhost:8080/api/health# Crear usuario admin (primera vez)
sudo /usr/bin/streamforge-broker create-admin \
--username admin \
--password your-secure-password
# Login y obtener token JWT
curl -X POST http://localhost:8080/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"username": "admin",
"password": "your-secure-password"
}'
# Guardar el token
export TOKEN="eyJ0eXAiOiJKV1Qi..."# Crear topic con 4 particiones
curl -X POST http://localhost:8080/api/topics \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "my-topic",
"num_partitions": 4
}'# Publicar mensaje a un topic
curl -X POST http://localhost:8080/api/topics/my-topic/publish \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"payload": {
"user_id": 123,
"action": "login",
"timestamp": "2025-11-08T10:30:00Z"
}
}'# Leer los últimos 10 mensajes de un topic
curl "http://localhost:8080/api/topics/my-topic/messages?latest=true&limit=10" \
-H "Authorization: Bearer $TOKEN"
# Response incluye partition_offsets para tracking:
{
"topic": "my-topic",
"messages": [
{
"partition": 0,
"offset": 95,
"key": null,
"value": {"user_id": 123, "action": "login"},
"timestamp": "2025-11-28T10:30:00Z"
}
],
"count": 1,
"partition_offsets": [
{"partition": 0, "oldest_offset": 0, "newest_offset": 100, "total_messages": 101}
]
}
# Leer desde offset específico
curl "http://localhost:8080/api/topics/my-topic/messages?offset=50&limit=20" \
-H "Authorization: Bearer $TOKEN"Todas las guías incluyen ejemplos de la REST API con autenticación JWT, topics, Schema Registry y más
Cliente Rust disponible. Clientes para Python, Node.js y .NET en desarrollo
Arquitectura, modelo de mensajería, garantías de entrega y mejores prácticas. Incluye Mars Mode para auto-recovery.
Compara StreamForge con las alternativas populares
| Característica | StreamForge | NATS | Kafka |
|---|---|---|---|
| Latencia P99 | 74 µs | 50 µs | 150 ms |
| Setup Time | < 30s | < 30s | 30+ min |
| Binary Size | 29 MB | 20 MB | 1+ GB |
| HA (Raft Consensus) | Sí | Sí | KRaft |
| KV Store | Sí (v0.10+) | Sí | No |
| Object Store | Sí (v0.10+) | Sí | No |
| Request-Reply | Sí (v0.10+) | Sí | No nativo |
| Leaf Nodes (Multi-DC) | Sí (v0.10+) | Sí | MirrorMaker |
| Subject Wildcards | *, > | *, > | No |
| Mars Mode (Auto-Recovery) | Sí | No | No |
| Madurez | Nuevo (6 meses) | 10+ años | 10+ años |
| Throughput | 2M+ msg/s | 1M+ msg/s | 1M+ msg/s |
Resumen: StreamForge v0.10 combina lo mejor de NATS (KV Store, Object Store, Leaf Nodes) con la simplicidad de Kafka. Mars Mode ofrece auto-recovery exclusivo.
Sin Docker, sin JVM, sin configuraciones complicadas
# Instalar vía APT (Debian/Ubuntu)
$ sudo apt install streamforge
# Iniciar servicio
$ sudo systemctl start streamforge
✅ Listo! Escuchando en :9092Production-ready desde el día 1
Encriptación moderna con rustls
Todas las conexiones TCP y HTTP
API Keys, JWT tokens
Password hashing con Argon2
Control granular por topic/partition
Permisos: read, write, admin
Mutual TLS entre nodos del cluster
Verificación de certificados cliente
Todo lo que necesitas saber sobre StreamForge
No, StreamForge usa su propio protocolo optimizado. Si necesitas compatibilidad con Kafka, considera Tansu o Redpanda.
Mínimo 3 para alta disponibilidad con Raft. Puedes empezar con 1 nodo para desarrollo/testing.
Sí, TLS 1.3 con rustls, autenticación JWT, ACL granular, y mTLS para comunicación entre nodos.
Actualmente tenemos cliente oficial en .NET (C#). Clientes para Python, Go, Node.js en el roadmap.
StreamForge es 200x más rápido (74 µs vs 150 ms P99 latency) y 60x más rápido de instalar (<30s vs 30+ min). Kafka tiene ecosystem más maduro.
Sí para casos no-críticos (logs, analytics, internal tools). Para casos críticos (finanzas, healthcare), recomendamos 2-3 semanas de testing en QA primero.
StreamForge es open-source y gratuito. Ofrecemos soporte enterprise y hosting managed (contactar ventas).
No hay migración directa ya que los protocolos son diferentes. Puedes correr ambos en paralelo y migrar gradualmente.
¿No encuentras tu pregunta?