Avanzado
35 min
Guía completa
Patrones de Tiempo Real
Diseña aplicaciones en tiempo real con patrones, escalado y consistencia
Patrones comunes
- • Pub/Sub: emisores y suscriptores desacoplados
- • Fan‑out: difundir un evento a muchos clientes
- • Presencia: usuarios online, typing indicators
- • Optimistic UI: actualizar UI antes de confirmar
- • Idempotencia: evitar duplicados al reconectar
- • Backpressure: controlar tasa de envío
Arquitectura con broker
Para escalar, usa un broker (Redis, NATS, Kafka) para coordinar eventos entre nodos.
// Ejemplo simple con Redis Pub/Sub
const pub = redis.createClient();
const sub = redis.createClient();
sub.subscribe('updates');
sub.on('message', (channel, message) => {
broadcast(JSON.parse(message));
});
function publishUpdate(data) {
pub.publish('updates', JSON.stringify(data));
}
Consistencia y orden
- • Incluye timestamp o sequence
- • Asegura reintentos idempotentes
- • Usa ACKs para operaciones críticas
💡 Checklist de escalado
- ✓ Métricas de conexiones activas
- ✓ Latencia media de mensajes
- ✓ Reintentos y errores por cliente
- ✓ Límites de tamaño y frecuencia