PubNub — qué es, SDK en tiempo real y cómo funciona en aplicaciones

Autor: IT Sectr Publicado: 2026-06-02 Tiempo de lectura: 8 min

PubNub es una red global de mensajería en tiempo real que proporciona infraestructura para publicar y suscribirse a mensajes a través de WebSocket con latencia mínima. Está orientada a aplicaciones que requieren entrega confiable de datos bajo alta carga y conexiones inestables. Según la documentación oficial de PubNub (2025), la plataforma procesa más de 1 billón de mensajes mensualmente para más de 70 000 aplicaciones en todo el mundo.

Puntos clave

  • PubNub es una red global de mensajes en tiempo real con más de 15 centros de datos y entrega garantizada.
  • Pub/Sub con claves — publicación y suscripción mediante claves publish/subscribe con separación de derechos de acceso.
  • Stream Controller — gestión del flujo de mensajes con soporte para filtrado, transformación y almacenamiento en búfer.
  • Presence — seguimiento del estado en línea de los participantes del canal con detección por tiempo de espera.
  • SDK para más de 75 plataformas — el ecosistema más grande de bibliotecas cliente entre los servicios en tiempo real.

¿Qué es PubNub?

PubNub es una red global de datos en tiempo real, fundada en 2010. Proporciona una API para publicar y suscribirse a mensajes, así como servicios adicionales: almacenamiento de historial, gestión de presencia, funciones sin servidor (PubNub Functions) y análisis de flujos de datos.

La arquitectura de PubNub se basa en una red distribuida de puntos de presencia (POP) ubicados en más de 15 regiones geográficas. Cada punto contiene brokers de almacenamiento en caché que enrutan mensajes entre editores y suscriptores con latencia mínima. PubNub no utiliza un único broker central — cada región opera de forma independiente y se sincroniza a través de la red global.

Según el sitio web oficial de PubNub (2025), la plataforma atiende a más de 70 000 aplicaciones en más de 200 países. Entre los clientes clave se incluyen Logitech (gestión de dispositivos IoT), GoPro (transmisión de video en tiempo real), eBay (sincronización de subastas) y Snapchat (chat y notificaciones).

Principios clave de PubNub

PubNub se basa en tres principios: velocidad (latencia inferior a 10 ms en el percentil 95 dentro de una misma región), confiabilidad (garantía de entrega at-least-once con reintento automático) y escalabilidad (expansión horizontal sin límite en el número de canales). La plataforma no almacena mensajes en almacenamiento a largo plazo — el historial está disponible a través de un servicio Storage & Playback conectado por separado.

Cómo funciona PubNub

El modelo de operación de PubNub se basa en el patrón clásico de publicación-suscripción. El cliente editor envía un mensaje especificando el canal a través de la API REST de PubNub con una clave de publicación. PubNub entrega el mensaje a todos los suscriptores de ese canal a través de sus conexiones WebSocket activas. Los suscriptores reciben el mensaje a través de un manejador de devolución de llamada registrado en el SDK de PubNub.

La capa de transporte de PubNub utiliza WebSocket como protocolo principal, con una alternativa de HTTP long-polling para entornos con restricciones. El SDK gestiona automáticamente la conexión: establece, mantiene el heartbeat (cada 15–60 segundos según la red) y se reconecta en caso de interrupción.

Cada mensaje en PubNub contiene metadatos: UUID del remitente, marca de tiempo, número de secuencia (timetoken) y banderas (store, replicate, eatAfterRead). Timetoken es un identificador único de PubNub basado en el tiempo que garantiza el orden global de los mensajes dentro de un canal. Según la documentación de PubNub (2025), el timetoken tiene una resolución de 10 nanosegundos.

Flujo de mensajes

Cuando un cliente publica un mensaje, pasa a través del Stream Controller — el módulo de enrutamiento de PubNub. El Stream Controller verifica los derechos de acceso (PAM), aplica reglas de transformación (PubNub Functions), determina las regiones de destino y envía el mensaje a todos los suscriptores. Si un suscriptor está desconectado, el mensaje se almacena en búfer durante 30 segundos (por defecto) mientras espera la recuperación de la conexión.

Claves de PubNub: publish, subscribe, secret

El sistema de claves de PubNub separa los derechos de acceso en tres niveles: clave de publicación (solo publicación), clave de suscripción (solo suscripción) y clave secreta (administración). Cada aplicación recibe un conjunto de tres claves al registrarse, pero la clave secreta nunca se transmite al cliente — se usa solo en el lado del servidor.

La clave de publicación se utiliza para enviar mensajes a los canales. La clave de suscripción se utiliza para suscribirse a canales y recibir mensajes. La clave secreta se utiliza para la gestión de acceso a través de PubNub Access Manager (PAM), creación de tokens de audiencia temporales y gestión de claves. La clave secreta se mantiene segura en el servidor y nunca se revela a los clientes.

PubNub admite varios modos de autenticación: por dirección IP (para servidores), por clave secreta (para operaciones administrativas), por tokens temporales (para clientes). Los tokens temporales se emiten a través de PAM con restricciones de tiempo de validez, canales y permisos (read, write, manage).

Canales de PubNub

Los canales de PubNub son rutas de mensajes con nombre. El nombre de un canal es una cadena de hasta 92 caracteres que admite letras latinas, dígitos, guiones y guiones bajos. Los canales se crean dinámicamente en la primera publicación o suscripción. PubNub admite patrones de canal mediante el carácter * en las solicitudes de suscripción — esto permite suscribirse a un grupo de canales (por ejemplo, user-*).

Channel Groups es un mecanismo de agrupación de canales para suscripción masiva. En lugar de suscribirse a 50 canales individuales, el cliente se suscribe a un grupo, y todos los mensajes de los canales que lo componen se entregan automáticamente al cliente. Channel Groups admite anidamiento, pero la profundidad no debe exceder los 3 niveles.

Según la documentación técnica de PubNub (2025), el número máximo de suscriptores por canal es de 50 000. Para cargas más altas, se recomienda usar canales con prefijos y fragmentar la audiencia (por ejemplo, chat-room-001, chat-room-002). Channel Groups también se puede organizar por principios geográficos o temáticos.

ParámetroMáximoNota
Longitud del nombre del canal92 caracteresLetras latinas, dígitos, -, _
Suscriptores por canal50 000Superior — fragmentar
Channel Groups2000 grupos / claveHasta 500 canales por grupo
Historial (almacenamiento)IlimitadoPago por volumen de almacenamiento

Cómo usar PubNub en un proyecto

La integración de PubNub requiere registro, creación de una aplicación en el panel de administración y obtención de un conjunto de claves. Las bibliotecas de PubNub están disponibles para JavaScript, Swift, Kotlin, Java, Dart (Flutter), C#, Python, Ruby, Go y muchos otros lenguajes. Veamos un ejemplo en JavaScript para navegador y Node.js.

Según la documentación de PubNub (2025), la biblioteca pubnub-js admite importaciones tanto CommonJS como ES Module. Para el navegador, se recomienda usar la compilación npm seguida de empaquetado mediante webpack o Vite.

Suscripción a un canal

js
import PubNub from 'pubnub';

const pubnub = new PubNub({
    publishKey: 'PUBLISH_KEY',
    subscribeKey: 'SUBSCRIBE_KEY',
    userId: 'user-100'
});

pubnub.subscribe({
    channels: ['chat-general']
});

pubnub.addListener({
    message: (event) => {
        console.log('Nuevo mensaje:', event.message);
    },
    presence: (event) => {
        console.log('Presencia:', event.uuid, event.action);
    }
});

pubnub.publish({
    channel: 'chat-general',
    message: { text: 'Hello everyone!', sender: 'user-100' }
});

Obtención del historial de mensajes

js
pubnub.fetchMessages(
    { channels: ['chat-general'], count: 50 },
    (status, response) => {
        if (status.error) {
            console.error('Error al obtener el historial', status);
            return;
        }
        const messages = response.channels['chat-general'];
        messages.forEach((msg) => {
            console.log(msg.message, msg.timetoken);
        });
    }
);

PubNub Functions y Stream Controller

PubNub Functions es una plataforma sin servidor para procesar mensajes del lado de PubNub. Las funciones se escriben en JavaScript y se ejecutan en un entorno aislado seguro (V8 isolate). Pueden transformar, filtrar, almacenar en búfer y redirigir mensajes antes de que se entreguen a los suscriptores.

Stream Controller es un mecanismo de enrutamiento integrado que gestiona el flujo de mensajes según reglas. Las reglas determinan qué mensajes se entregan, cuáles se descartan y cuáles se envían a PubNub Functions para su procesamiento. Stream Controller admite enrutamiento condicional por contenido del mensaje, tipo de canal o metadatos.

Según el blog de PubNub (2024), PubNub Functions reducen los costos de infraestructura del servidor para el procesamiento de mensajes en un 40–60% al ejecutar la lógica de filtrado y transformación en los nodos periféricos de PubNub, en lugar de hacerlo en su propio servidor. Las funciones tienen acceso a solicitudes HTTP, almacenamiento Key-Value y otras funciones dentro del mismo espacio.

PubNub en aplicaciones móviles

El SDK de PubNub para plataformas móviles está disponible para iOS (Swift), Android (Kotlin/Java), Flutter (Dart) y React Native (JavaScript). Los SDK móviles admiten la gama completa de funciones: pub/sub, presencia, historial, PAM y PubNub Functions. Para notificaciones push, PubNub se integra con APNs y FCM a través de un mecanismo especial de puerta de enlace push móvil.

La optimización para dispositivos móviles incluye heartbeat adaptativo, procesamiento por lotes de mensajes y soporte para modos en segundo plano. El SDK de PubNub para iOS utiliza la API de Background Task para mantener la conexión cuando la aplicación está minimizada (hasta 30 segundos de tiempo de fondo estándar). Para un funcionamiento en segundo plano más prolongado, se requieren notificaciones push.

Mobile Push Gateway es un mecanismo de envío de notificaciones push a través de PubNub. Cuando se publica un mensaje en un canal, PubNub determina automáticamente qué suscriptores están desconectados y les envía una notificación push a través de APNs (iOS) o FCM (Android). La configuración se realiza una vez en el panel de administración — después de eso, todos los mensajes del canal se duplican automáticamente en el canal push. Según la documentación de PubNub (2025), la puerta de enlace procesa hasta 10 000 notificaciones push por segundo.

Preguntas frecuentes

¿En qué se diferencia PubNub de Pusher?

PubNub ofrece más SDK (más de 75 plataformas), funciones sin servidor integradas y Stream Controller para procesamiento de mensajes. Pusher es más fácil de configurar, pero PubNub brinda más control sobre el enrutamiento y la transformación de datos.

¿Cómo garantiza PubNub la entrega de mensajes?

PubNub utiliza un mecanismo at-least-once con reintento automático en caso de fallo. Cada mensaje tiene un timetoken único para la deduplicación. Los mensajes se almacenan en búfer durante 30 segundos para suscriptores desconectados.

¿Cuánto cuesta PubNub?

El plan gratuito incluye 100 conexiones simultáneas y 1 millón de mensajes por mes. Los planes de pago comienzan desde $49/mes por 1000 conexiones simultáneas con mensajes ilimitados.

¿PubNub admite cifrado?

Sí, PubNub admite TLS 1.3 para todas las conexiones y cifrado opcional de extremo a extremo en el cliente (AES-256) con gestión de claves a través de PAM. El modo Cipher Key está disponible para clientes empresariales.

¿Qué lenguajes admite el SDK de PubNub?

PubNub proporciona SDK para más de 75 plataformas, incluyendo JavaScript, Swift, Kotlin, Java, Dart, C#, Python, Ruby, Go, C++, PHP, Rust y Objective-C. Este es el ecosistema más grande entre los servicios en tiempo real.

Resumen

  • PubNub es una red global de mensajería en tiempo real con más de 15 centros de datos y soporte para más de 75 plataformas.
  • El sistema de claves publish/subscribe/secret + PAM proporciona una gestión flexible de derechos de acceso.
  • PubNub Functions permiten el procesamiento de mensajes sin servidor sin necesidad de infraestructura de servidor propia.
  • Stream Controller gestiona el enrutamiento, filtrado y transformación de mensajes en los nodos periféricos de la red.
  • Mobile Push Gateway envía automáticamente notificaciones push a través de APNs y FCM para suscriptores desconectados.
  • Los canales admiten hasta 50 000 suscriptores, y Channel Groups simplifican la gestión de múltiples canales.
  • Para proyectos con amplio soporte de plataformas y procesamiento de mensajes integrado, elija PubNub; para escenarios más simples, Pusher es adecuado.

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también