TechLead
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