S

StreamForge

Message Broker de Alto Rendimiento

Construido con Rust. Replicación Raft en producción. Cluster de 3 nodos activo en AWS.

🚀 En Producción
Open Source
MIT License
3 nodos Raft
v0.10.0
<10ms
Latencia P99
2.1M msg/s
Throughput con batching
Auto-recovery
Recuperación automática
Offset Tracking
Consumer lag monitoring

Capacidades Enterprise

Todo lo que necesitas para construir sistemas distribuidos de producción

Alto Throughput

2.1M+ mensajes/segundo con I/O zero-copy, batching optimizado y compresión por lotes

Consenso Raft

Tolerancia a fallos con elección de líder automática y failover instantáneo

Schema Registry

Validación automática con JSON Schema vía REST y gRPC. Streaming bidireccional para validación de alta velocidad (v0.9.3+)

gRPC API Nativa

API gRPC de alto rendimiento con latencia en microsegundos. Streaming bidireccional para validación en batch (v0.9.3+)

Persistencia WAL

Write-Ahead Log con checksums CRC32 y políticas de sync configurables

Particionamiento

Escalabilidad horizontal con key-based routing y procesamiento paralelo

Consumer Groups

Asignación automática de particiones y rebalanceo dinámico

Monitoreo Real-Time

Métricas completas vía REST API y dashboard web moderno

Seguridad TLS 1.3

Encriptación moderna, JWT, ACL y mTLS para máxima seguridad

Snapshots Raft

Compactación automática de logs para optimizar storage

Alta Disponibilidad

Clusters 3-5 nodos con failover automático y 0% downtime

Disaster Recovery

Backups automáticos a S3 cada hora con retención configurable y point-in-time recovery

Auto-Recovery

Recuperación automática desde snapshots locales o S3 cuando un nodo falla

Offset Tracking

Tracking y persistencia de offsets por consumer con commit manual para garantías at-least-once

Lag Monitoring

Monitoreo en tiempo real de lag por partition y consumer group para detectar retrasos

KV Store

Almacenamiento clave-valor distribuido con TTL, revisiones y operaciones compare-and-swap (v0.10.0+)

Object Store

Almacenamiento de objetos grandes con chunking automático, SHA-256 digest y streaming (v0.10.0+)

Leaf Nodes

Nodos edge para multi-datacenter con replicación selectiva y failover automático (v0.10.0+)

Request-Reply

Patrón RPC con inbox automático, timeouts configurables y correlación de mensajes (v0.10.0+)

CDC Connectors

Change Data Capture

Captura cambios en tiempo real desde tus bases de datos relacionales y NoSQL. Similar a Kafka Connect + Debezium, pero más simple.

Disponible
Enterprise

Oracle CDC

Captura cambios en tiempo real desde Oracle usando LogMiner

Características:

  • LogMiner integrado
  • Checkpoint automático (SCN)
  • Filtros por tabla/columna
  • Reconexión automática

Performance:

5K-10K eventos/seg
Latencia <200ms P99
Próximamente
Community

PostgreSQL CDC

Captura cambios con Logical Decoding (pgoutput/wal2json)

Características:

  • Logical replication
  • Publication/Subscription
  • Low overhead
  • JSONB support

Performance:

10K-20K eventos/seg
Latencia <100ms P99
Próximamente
Community

MySQL CDC

Captura cambios usando binlog replication

Características:

  • Binlog reader
  • GTID support
  • Multi-source replication
  • Schema evolution

Performance:

8K-15K eventos/seg
Latencia <150ms P99
Próximamente
Community

MongoDB CDC

Captura cambios con Change Streams

Características:

  • Change streams
  • Resume tokens
  • Pipeline filtering
  • Aggregation support

Performance:

7K-12K eventos/seg
Latencia <120ms P99

Instalación Simple

Los conectores se instalan como paquetes .deb independientes y corren como servicios systemd:

$ sudo dpkg -i streamforge-connectors_0.1.0_amd64.deb
$ sudo systemctl start streamforge-cdc-oracle
$ sudo journalctl -u streamforge-cdc-oracle -f

Arquitectura Multi-Capa

Diseño modular y escalable para máximo rendimiento

Capa 0: Fuentes de Datos (CDC)

Opcional
  • Oracle, PostgreSQL, MySQL, MongoDB
  • Conectores CDC capturan cambios en tiempo real

Capa 1: Conectores CDC

Opcional
  • streamforge-cdc-oracle (LogMiner)
  • streamforge-cdc-postgres (Logical Decoding)
  • Publican eventos JSON a StreamForge

Capa 2: Clientes

  • Aplicaciones (producers/consumers)
  • Conectores CDC, microservicios, ETL

Capa 3: Protocolos

  • TCP Protocol (MessagePack binario) - Alto rendimiento
  • REST API (HTTP/JSON) - Gestión y monitoring

Capa 4: Broker Cluster (Raft Replicado)

✅ En Producción
  • ✅ 3 nodos en producción (AWS us-east-2)
  • ✅ Replicación sincronizada vía Raft con quorum 2/3
  • ✅ Persistencia en WAL de cada nodo
  • ✅ Estrategia single-node + learners para cluster formation
  • ✅ Failover automático en <300ms

Capa 5: Storage

  • Write-Ahead Log (WAL) con compresión LZ4
  • Topics particionados con offsets independientes
🚀

Cluster Raft en Producción

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.

🟢 Nodo 1 (Líder)
Activo en AWS
🟢 Nodo 2 (Follower)
Replicando en tiempo real
🟢 Nodo 3 (Follower)
Replicando en tiempo real

Diseño optimizado: Cada capa está diseñada para máxima performance y confiabilidad, con separación clara de responsabilidades.

Casos de Uso en Producción

Empresas reales usando StreamForge para cargas críticas

🏥

Healthcare - CDC Oracle → SAP

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:

  • Latencia <10ms
  • 0% pérdida de datos
  • Compliance HIPAA
💰

Fintech - Procesamiento de Transacciones

Procesamiento de millones de transacciones financieras con garantías ACID

Beneficios clave:

  • Throughput 1M+ tx/s
  • Failover <300ms
  • Auditoría completa
🛒

E-commerce - Event Streaming

Órdenes, inventory y notificaciones en tiempo real para retail online

Beneficios clave:

  • Escalabilidad horizontal
  • Consumer groups
  • Zero downtime
📊

Data Warehousing - CDC to Data Lake

Captura cambios de Oracle/PostgreSQL y los envía a S3/Parquet para analytics

Beneficios clave:

  • ETL en tiempo real
  • Schema evolution
  • Particionamiento automático

Cache Invalidation

Invalida cachés de Redis/Memcached cuando cambian datos en la base de datos

Beneficios clave:

  • Consistency garantizada
  • TTL dinámico
  • Multi-region
📈

Real-Time Analytics

Stream de eventos a Elasticsearch, ClickHouse o Power BI para dashboards en vivo

Beneficios clave:

  • Latencia sub-segundo
  • Agregaciones en tiempo real
  • Alertas automáticas
Documentación

Guías de Instalación

Desde instalación básica hasta clusters de producción con CDC

1

Instalar StreamForge

# 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
2

Verificar Instalación

# Verificar status
sudo systemctl status streamforge

# Ver logs
sudo journalctl -u streamforge -f

# Verificar API
curl http://localhost:8080/api/health
3

Autenticación

# 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..."
4

Crear un Topic

# 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
  }'
5

Publicar Mensaje

# 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"
    }
  }'
6

Leer Mensajes

# 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"

REST API

Todas las guías incluyen ejemplos de la REST API con autenticación JWT, topics, Schema Registry y más

Clientes Oficiales

Cliente Rust disponible. Clientes para Python, Node.js y .NET en desarrollo

Documentación Completa

Arquitectura, modelo de mensajería, garantías de entrega y mejores prácticas. Incluye Mars Mode para auto-recovery.

¿Por qué StreamForge?

Compara StreamForge con las alternativas populares

CaracterísticaStreamForgeNATSKafka
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)
KRaft
KV Store
Sí (v0.10+)
No
Object Store
Sí (v0.10+)
No
Request-Reply
Sí (v0.10+)
No nativo
Leaf Nodes (Multi-DC)
Sí (v0.10+)
MirrorMaker
Subject Wildcards
*, >
*, >
No
Mars Mode (Auto-Recovery)
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.

Excelente
Bueno
Limitado

Instala en 2 Comandos

Sin Docker, sin JVM, sin configuraciones complicadas

terminal
# Instalar vía APT (Debian/Ubuntu)
$ sudo apt install streamforge

# Iniciar servicio
$ sudo systemctl start streamforge

✅ Listo! Escuchando en :9092
17 MB
Binary compacto
< 30s
Setup completo
0 deps
Sin dependencias
ENTERPRISE SECURITY

Seguridad Enterprise

Production-ready desde el día 1

TLS 1.3

Encriptación moderna con rustls

Todas las conexiones TCP y HTTP

Autenticación

API Keys, JWT tokens

Password hashing con Argon2

Autorización (ACL)

Control granular por topic/partition

Permisos: read, write, admin

mTLS

Mutual TLS entre nodos del cluster

Verificación de certificados cliente

Compliance & Auditoría

  • Logs de auditoría completos
  • Compatible con HIPAA y SOC 2
  • Rotación automática de credentials

Best Practices

  • Zero-trust architecture por defecto
  • Encriptación en reposo opcional
  • Rate limiting y protección DDoS

Preguntas Frecuentes

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.