PubNub — o que é, SDK em tempo real e como funciona em aplicações

Autor: IT Sectr Publicado: 2026-06-02 Tempo de leitura: 8 min

PubNub é uma rede global de mensagens em tempo real que fornece infraestrutura para publicar e subscrever mensagens via WebSocket com latência mínima. É voltada para aplicações que exigem entrega confiável de dados sob alta carga e conexões instáveis. De acordo com a documentação oficial da PubNub (2025), a plataforma processa mais de 1 trilhão de mensagens mensalmente para mais de 70.000 aplicações em todo o mundo.

Pontos principais

  • PubNub é uma rede global de mensagens em tempo real com mais de 15 centros de dados e entrega garantida.
  • Pub/Sub com chaves — publicação e subscrição através de chaves publish/subscribe com separação de direitos de acesso.
  • Stream Controller — gestão do fluxo de mensagens com suporte para filtragem, transformação e armazenamento em buffer.
  • Presence — rastreamento do estado online dos participantes do canal com deteção por tempo limite.
  • SDK para mais de 75 plataformas — o maior ecossistema de bibliotecas cliente entre os serviços em tempo real.

O que é PubNub?

PubNub é uma rede global de dados em tempo real, fundada em 2010. Fornece uma API para publicar e subscrever mensagens, bem como serviços adicionais: armazenamento de histórico, gestão de presença, funções sem servidor (PubNub Functions) e análise de fluxos de dados.

A arquitetura do PubNub baseia-se numa rede distribuída de pontos de presença (POP) localizados em mais de 15 regiões geográficas. Cada ponto contém brokers de cache que encaminham mensagens entre editores e subscritores com latência mínima. O PubNub não utiliza um único broker central — cada região opera de forma independente e sincroniza através da rede global.

De acordo com o site oficial da PubNub (2025), a plataforma atende mais de 70.000 aplicações em mais de 200 países. Entre os clientes principais estão Logitech (gestão de dispositivos IoT), GoPro (transmissão de vídeo em tempo real), eBay (sincronização de leilões) e Snapchat (chat e notificações).

Princípios-chave do PubNub

O PubNub é construído sobre três princípios: velocidade (latência inferior a 10 ms no percentil 95 dentro de uma única região), fiabilidade (garantia de entrega at-least-once com repetição automática) e escalabilidade (expansão horizontal sem limite no número de canais). A plataforma não armazena mensagens em armazenamento de longo prazo — o histórico está disponível através de um serviço Storage & Playback conectado separadamente.

Como funciona o PubNub

O modelo de operação do PubNub baseia-se no padrão clássico de publicação-subscrição. O cliente editor envia uma mensagem especificando o canal através da API REST do PubNub com uma chave de publicação. O PubNub entrega a mensagem a todos os subscritores desse canal através das suas conexões WebSocket ativas. Os subscritores recebem a mensagem através de um manipulador de retorno de chamada registado no SDK do PubNub.

A camada de transporte do PubNub utiliza WebSocket como protocolo principal, com fallback para HTTP long-polling em ambientes com restrições. O SDK gere automaticamente a conexão: estabelece, mantém o heartbeat (a cada 15–60 segundos dependendo da rede) e reconecta em caso de interrupção.

Cada mensagem no PubNub contém metadados: UUID do remetente, carimbo de data/hora, número de sequência (timetoken) e flags (store, replicate, eatAfterRead). Timetoken é um identificador único do PubNub baseado no tempo que garante a ordem global das mensagens dentro de um canal. De acordo com a documentação do PubNub (2025), o timetoken tem uma resolução de 10 nanossegundos.

Fluxo de mensagem

Quando um cliente publica uma mensagem, esta passa através do Stream Controller — o módulo de encaminhamento do PubNub. O Stream Controller verifica os direitos de acesso (PAM), aplica regras de transformação (PubNub Functions), determina as regiões de destino e envia a mensagem a todos os subscritores. Se um subscritor estiver offline, a mensagem é armazenada em buffer durante 30 segundos (por padrão) enquanto aguarda a recuperação da conexão.

Chaves do PubNub: publish, subscribe, secret

O sistema de chaves do PubNub separa os direitos de acesso em três níveis: chave de publicação (apenas publicação), chave de subscrição (apenas subscrição) e chave secreta (administração). Cada aplicação recebe um conjunto de três chaves ao registar-se, mas a chave secreta nunca é transmitida ao cliente — é utilizada apenas no lado do servidor.

A chave de publicação é utilizada para enviar mensagens para os canais. A chave de subscrição é utilizada para subscrever canais e receber mensagens. A chave secreta é utilizada para gestão de acesso através do PubNub Access Manager (PAM), criação de tokens de audiência temporários e gestão de chaves. A chave secreta é mantida em segurança no servidor e nunca é revelada aos clientes.

O PubNub suporta vários modos de autenticação: por endereço IP (para servidores), por chave secreta (para operações administrativas), por tokens temporários (para clientes). Os tokens temporários são emitidos através do PAM com restrições de tempo de validade, canais e permissões (read, write, manage).

Canais do PubNub

Os canais do PubNub são rotas de mensagens nomeadas. O nome de um canal é uma string de até 92 caracteres, suportando letras latinas, dígitos, hífens e underscores. Os canais são criados dinamicamente na primeira publicação ou subscrição. O PubNub suporta padrões de canal através do caractere * em pedidos de subscrição — isto permite subscrever um grupo de canais (por exemplo, user-*).

Channel Groups é um mecanismo de agrupamento de canais para subscrição em massa. Em vez de subscrever 50 canais individuais, o cliente subscreve um grupo, e todas as mensagens dos canais que o compõem são automaticamente entregues ao cliente. Channel Groups suporta aninhamento, mas a profundidade não deve exceder 3 níveis.

De acordo com a documentação técnica do PubNub (2025), o número máximo de subscritores por canal é de 50.000. Para cargas mais elevadas, recomenda-se usar canais com prefixos e fragmentar a audiência (por exemplo, chat-room-001, chat-room-002). Channel Groups também podem ser organizados por princípios geográficos ou temáticos.

ParâmetroMáximoNota
Comprimento do nome do canal92 caracteresLetras latinas, dígitos, -, _
Subscritores por canal50.000Superior — fragmentar
Channel Groups2000 grupos / chaveAté 500 canais por grupo
Histórico (armazenamento)IlimitadoPagamento por volume de armazenamento

Como usar o PubNub num projeto

A integração do PubNub requer registo, criação de uma aplicação no painel de administração e obtenção de um conjunto de chaves. As bibliotecas do PubNub estão disponíveis para JavaScript, Swift, Kotlin, Java, Dart (Flutter), C#, Python, Ruby, Go e muitas outras linguagens. Vejamos um exemplo em JavaScript para navegador e Node.js.

De acordo com a documentação do PubNub (2025), a biblioteca pubnub-js suporta importações CommonJS e ES Module. Para o navegador, recomenda-se usar a compilação npm seguida de empacotamento via webpack ou Vite.

Subscrever um 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('Nova mensagem:', event.message);
    },
    presence: (event) => {
        console.log('Presença:', event.uuid, event.action);
    }
});

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

Obter histórico de mensagens

js
pubnub.fetchMessages(
    { channels: ['chat-general'], count: 50 },
    (status, response) => {
        if (status.error) {
            console.error('Erro ao obter histórico', status);
            return;
        }
        const messages = response.channels['chat-general'];
        messages.forEach((msg) => {
            console.log(msg.message, msg.timetoken);
        });
    }
);

PubNub Functions e Stream Controller

PubNub Functions é uma plataforma sem servidor para processar mensagens do lado do PubNub. As funções são escritas em JavaScript e executadas num ambiente isolado seguro (V8 isolate). Podem transformar, filtrar, armazenar em buffer e redirecionar mensagens antes de serem entregues aos subscritores.

Stream Controller é um mecanismo de encaminhamento integrado que gere o fluxo de mensagens com base em regras. As regras determinam quais mensagens são entregues, quais são descartadas e quais são enviadas para PubNub Functions para processamento. O Stream Controller suporta encaminhamento condicional por conteúdo da mensagem, tipo de canal ou metadados.

De acordo com o blog do PubNub (2024), o PubNub Functions reduz os custos de infraestrutura do servidor para processamento de mensagens em 40–60% ao executar a lógica de filtragem e transformação nos nós de borda do PubNub, em vez de no seu próprio servidor. As funções têm acesso a pedidos HTTP, armazenamento Key-Value e outras funções no mesmo espaço.

PubNub em aplicações móveis

O SDK do PubNub para plataformas móveis está disponível para iOS (Swift), Android (Kotlin/Java), Flutter (Dart) e React Native (JavaScript). Os SDKs móveis suportam a gama completa de funcionalidades: pub/sub, presença, histórico, PAM e PubNub Functions. Para notificações push, o PubNub integra-se com APNs e FCM através de um mecanismo especial de gateway push móvel.

A otimização para dispositivos móveis inclui heartbeat adaptativo, processamento em lote de mensagens e suporte para modos de fundo. O SDK do PubNub para iOS utiliza a Background Task API para manter a conexão quando a aplicação está minimizada (até 30 segundos de tempo de fundo padrão). Para um funcionamento em fundo mais prolongado, são necessárias notificações push.

Mobile Push Gateway é um mecanismo de envio de notificações push através do PubNub. Quando uma mensagem é publicada num canal, o PubNub determina automaticamente quais subscritores estão offline e envia-lhes uma notificação push através de APNs (iOS) ou FCM (Android). A configuração é feita uma vez no painel de administração — depois disso, todas as mensagens do canal são automaticamente duplicadas no canal push. De acordo com a documentação do PubNub (2025), o gateway processa até 10.000 notificações push por segundo.

Perguntas frequentes

Como o PubNub se diferencia do Pusher?

PubNub oferece mais SDKs (mais de 75 plataformas), funções sem servidor integradas e Stream Controller para processamento de mensagens. Pusher é mais fácil de configurar, mas o PubNub dá mais controlo sobre o encaminhamento e a transformação de dados.

Como o PubNub garante a entrega de mensagens?

O PubNub utiliza um mecanismo at-least-once com repetição automática em caso de falha. Cada mensagem tem um timetoken único para desduplicação. As mensagens são armazenadas em buffer durante 30 segundos para subscritores offline.

Quanto custa o PubNub?

O plano gratuito inclui 100 conexões simultâneas e 1 milhão de mensagens por mês. Os planos pagos começam em $49/mês por 1000 conexões simultâneas com mensagens ilimitadas.

O PubNub suporta encriptação?

Sim, o PubNub suporta TLS 1.3 para todas as conexões e encriptação opcional de ponta a ponta no cliente (AES-256) com gestão de chaves através do PAM. O modo Cipher Key está disponível para clientes empresariais.

Que linguagens o SDK do PubNub suporta?

O PubNub fornece SDKs para mais de 75 plataformas, incluindo JavaScript, Swift, Kotlin, Java, Dart, C#, Python, Ruby, Go, C++, PHP, Rust e Objective-C. Este é o maior ecossistema entre os serviços em tempo real.

Resumo

  • PubNub é uma rede global de mensagens em tempo real com mais de 15 centros de dados e suporte para mais de 75 plataformas.
  • O sistema de chaves publish/subscribe/secret + PAM fornece gestão flexível de direitos de acesso.
  • PubNub Functions permitem processamento de mensagens sem servidor sem necessidade de infraestrutura de servidor própria.
  • Stream Controller gere o encaminhamento, filtragem e transformação de mensagens nos nós de borda da rede.
  • Mobile Push Gateway envia automaticamente notificações push através de APNs e FCM para subscritores offline.
  • Os canais suportam até 50.000 subscritores, e Channel Groups simplificam a gestão de múltiplos canais.
  • Para projetos com amplo suporte de plataformas e processamento de mensagens integrado, escolha PubNub; para cenários mais simples, Pusher é adequado.

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também