PubNub — wat is het, real-time SDK en hoe het werkt in applicaties

Auteur: IT Sectr Gepubliceerd: 2026-06-02 Leestijd: 8 min

PubNub — een wereldwijd netwerk voor real-time messaging dat infrastructuur biedt voor het publiceren en abonneren op berichten via WebSocket met minimale vertraging. Het is gericht op applicaties die betrouwbare gegevenslevering vereisen bij hoge belasting en onstabiele verbindingen. Volgens de officiële PubNub-documentatie (2025) verwerkt het platform maandelijks meer dan 1 biljoen berichten voor 70 000+ applicaties wereldwijd.

Belangrijkste punten

  • PubNub — wereldwijd netwerk voor real-time berichten met 15+ datacentra en gegarandeerde levering.
  • Pub/Sub met sleutels — publiceren en abonneren via publish/subscribe-sleutels met scheiding van toegangsrechten.
  • Stream Controller — beheer van berichtenstromen met ondersteuning voor filteren, transformeren en bufferen.
  • Presence — volgen van de online status van kanaaldeelnemers met detectie via time-out.
  • SDK voor 75+ platforms — het grootste ecosysteem van clientbibliotheken onder real-time diensten.

Wat is PubNub?

PubNub — een wereldwijd real-time gegevensoverdrachtnetwerk, opgericht in 2010. Het biedt API voor het publiceren en abonneren op berichten, evenals aanvullende diensten: geschiedenisopslag, aanwezigheidsbeheer, serverless functies (PubNub Functions) en data-stroomanalyse.

De architectuur van PubNub is gebaseerd op een gedistribueerd netwerk van aanwezigheidspunten (POP) in 15+ geografische regio's. Elk punt bevat cache-brokers die berichten tussen uitgevers en abonnees routeren met minimale vertraging. PubNub gebruikt geen enkele centrale broker — elke regio werkt onafhankelijk en synchroniseert via het wereldwijde netwerk.

Volgens de officiële website van PubNub (2025) bedient het platform meer dan 70 000 applicaties in 200+ landen. Tot de belangrijkste klanten behoren Logitech (beheer van IoT-apparaten), GoPro (real-time videostreaming), eBay (synchronisatie van veilingen) en Snapchat (chat en meldingen).

Belangrijkste principes van PubNub

PubNub is gebouwd op drie principes: snelheid (latentie minder dan 10 ms in het 95e percentiel binnen één regio), betrouwbaarheid (garantie van levering at-least-once met automatische herhaling) en schaalbaarheid (horizontale uitbreiding zonder beperking van het aantal kanalen). Het platform slaat berichten niet op in langdurige opslag — geschiedenis is toegankelijk via de afzonderlijk aangesloten Storage & Playback-service.

Hoe PubNub werkt

Het werkingsmodel van PubNub is gebaseerd op het klassieke publish-subscribe patroon. De uitgeverclient verzendt een bericht met vermelding van het kanaal via de PubNub REST API met de publish-sleutel. PubNub levert het bericht aan alle abonnees van dit kanaal via hun actieve WebSocket-verbindingen. Abonnees ontvangen het bericht via een callback-handler die is geregistreerd in de PubNub SDK.

De transportlaag van PubNub gebruikt WebSocket als primair protocol, met fallback naar HTTP long-polling voor omgevingen met beperkingen. De SDK beheert automatisch de verbinding: opzetten, heartbeat onderhouden (elke 15–60 seconden afhankelijk van het netwerk) en opnieuw verbinden bij onderbreking.

Elk bericht in PubNub bevat metadata: UUID van de afzender, tijdstempel, volgnummer (timetoken) en vlaggen (store, replicate, eatAfterRead). Timetoken — een unieke, op tijd gebaseerde PubNub-identificatie die de wereldwijde volgorde van berichten in het kanaal garandeert. Volgens de PubNub-documentatie (2025) heeft timetoken een resolutie van 10 nanoseconden.

Berichtenstroom

Wanneer een client een bericht publiceert, gaat het door de Stream Controller — de routeringsmodule van PubNub. De Stream Controller controleert toegangsrechten (PAM), past transformatieregels (PubNub Functions) toe, bepaalt doelregio's en verzendt het bericht naar alle abonnees. Als een abonnee is losgekoppeld, wordt het bericht 30 seconden (standaard) gebufferd in afwachting van herstel van de verbinding.

PubNub-sleutels: publish, subscribe, secret

Het sleutelsysteem van PubNub verdeelt toegangsrechten in drie niveaus: publish-sleutel (alleen publiceren), subscribe-sleutel (alleen abonneren) en secret-sleutel (beheer). Elke applicatie ontvangt een set van drie sleutels bij registratie, maar de secret-sleutel wordt nooit naar de client gestuurd — deze wordt alleen aan de serverzijde gebruikt.

De publish-sleutel wordt gebruikt voor het verzenden van berichten naar kanalen. De subscribe-sleutel — voor het abonneren op kanalen en het ontvangen van berichten. De secret-sleutel — voor het beheren van toegang via PubNub Access Manager (PAM), het maken van tijdelijke publiekstokens en het beheren van sleutels. De secret-sleutel wordt veilig opgeslagen op de server en wordt nooit aan clients bekendgemaakt.

PubNub ondersteunt meerdere authenticatiemodi: op IP-adres (voor servers), op geheime sleutel (voor administratieve handelingen), op tijdelijke tokens (voor clients). Tijdelijke tokens worden via PAM uitgegeven met beperkingen op tijd, kanalen en rechten (read, write, manage).

PubNub-kanalen

PubNub-kanalen — benoemde routes voor berichten. De kanaalnaam is een string van maximaal 92 tekens, die Latijnse letters, cijfers, koppeltekens en underscores ondersteunt. Kanalen worden dynamisch aangemaakt bij de eerste publicatie of abonnering. PubNub ondersteunt kanaalpatronen via het symbool * in het subscribe-verzoek — dit maakt abonnering op een groep kanalen mogelijk (bijv. user-*).

Channel Groups — een mechanisme voor het groeperen van kanalen voor massa-abonnering. In plaats van te abonneren op 50 afzonderlijke kanalen, abonneert de client zich op één groep en worden alle berichten uit de kanalen in de groep automatisch aan de client geleverd. Channel Groups ondersteunen nesting, maar de diepte mag niet meer dan 3 niveaus zijn.

Volgens de technische documentatie van PubNub (2025) is het maximale aantal abonnees per kanaal 50 000. Voor hogere belastingen wordt het gebruik van kanalen met voorvoegsels en het sharden van het publiek aanbevolen (bijv. chat-room-001, chat-room-002). Channel Groups kunnen ook worden georganiseerd volgens geografisch of thematisch principe.

ParameterMaximumOpmerking
Lengte kanaalnaam92 tekensLatijnse letters, cijfers, -, _
Abonnees per kanaal50 000Meer — sharden
Channel Groups2000 groepen / sleutelTot 500 kanalen per groep
Geschiedenis (storage)OnbeperktBetaling per opslagvolume

PubNub gebruiken in een project

PubNub-integratie vereist registratie, het aanmaken van een applicatie in het beheerpaneel en het verkrijgen van een set sleutels. PubNub-bibliotheken zijn beschikbaar voor JavaScript, Swift, Kotlin, Java, Dart (Flutter), C#, Python, Ruby, Go en vele andere talen. Laten we een voorbeeld in JavaScript voor de browser en Node.js bekijken.

Volgens de PubNub-documentatie (2025) ondersteunt de pubnub-js-bibliotheek zowel CommonJS als ES Module import. Voor de browser wordt installatie via npm gevolgd door bundling via webpack of vite aanbevolen.

Abonneren op een kanaal

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('Nieuw bericht:', event.message);
    },
    presence: (event) => {
        console.log('Aanwezigheid:', event.uuid, event.action);
    }
});

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

Berichtgeschiedenis ophalen

js
pubnub.fetchMessages(
    { channels: ['chat-general'], count: 50 },
    (status, response) => {
        if (status.error) {
            console.error('Fout bij ophalen geschiedenis', status);
            return;
        }
        const messages = response.channels['chat-general'];
        messages.forEach((msg) => {
            console.log(msg.message, msg.timetoken);
        });
    }
);

PubNub Functions en Stream Controller

PubNub Functions — een serverless platform voor het verwerken van berichten aan de PubNub-zijde. Functies worden geschreven in JavaScript en uitgevoerd in een veilige geïsoleerde omgeving (V8 isolate). Ze kunnen berichten transformeren, filteren, bufferen en omleiden voordat ze aan abonnees worden geleverd.

Stream Controller — een ingebouwd routeringsmechanisme dat de berichtenstroom beheert op basis van regels. Regels bepalen welke berichten worden geleverd, welke worden genegeerd en welke naar PubNub Functions worden gestuurd voor verwerking. Stream Controller ondersteunt conditionele routering op basis van berichtinhoud, kanaaltype of metadata.

Volgens de PubNub-blog (2024) verminderen PubNub Functions de serverinfrastructuurkosten voor berichtverwerking met 40–60% doordat de filter- en transformatielogica wordt uitgevoerd op de edge-nodes van PubNub, niet op de eigen server. Functies hebben toegang tot HTTP-verzoeken, Key-Value-opslag en andere functies in dezelfde ruimte.

PubNub in mobiele applicaties

PubNub SDK voor mobiele platforms zijn beschikbaar voor iOS (Swift), Android (Kotlin/Java), Flutter (Dart) en React Native (JavaScript). Mobiele SDK's ondersteunen de volledige functieset: pub/sub, aanwezigheid, geschiedenis, PAM en PubNub Functions. Voor pushmeldingen integreert PubNub met APNs en FCM via een speciaal mechanisme voor mobile push gateway.

Optimalisatie voor mobiele apparaten omvat adaptieve heartbeat, batchverwerking van berichten en ondersteuning voor achtergrondmodi. De PubNub SDK voor iOS gebruikt de Background Task API om de verbinding te behouden wanneer de app is geminimaliseerd (tot 30 seconden standaard achtergrondtijd). Voor langere achtergrondwerking is het gebruik van pushmeldingen vereist.

Mobile Push Gateway — een mechanisme voor het verzenden van pushmeldingen via PubNub. Wanneer een bericht in een kanaal wordt gepubliceerd, bepaalt PubNub automatisch welke abonnees offline zijn en stuurt hen een pushmelding via APNs (iOS) of FCM (Android). Configuratie wordt eenmalig uitgevoerd in het beheerpaneel — daarna worden alle berichten uit het kanaal automatisch gedupliceerd naar het push-kanaal. Volgens de PubNub-documentatie (2025) verwerkt de gateway tot 10 000 pushmeldingen per seconde.

Veelgestelde vragen

Waarin verschilt PubNub van Pusher?

PubNub biedt meer SDK's (75+ platforms), ingebouwde serverless functies en Stream Controller voor berichtverwerking. Pusher is eenvoudiger in te stellen, maar PubNub geeft meer controle over routering en datatransformatie.

Hoe garandeert PubNub de levering van berichten?

PubNub gebruikt het at-least-once mechanisme met automatische herhaling bij fouten. Elk bericht heeft een unieke timetoken voor deduplicatie. Berichten worden 30 seconden gebufferd voor offline abonnees.

Hoeveel kost PubNub?

Het gratis plan omvat 100 gelijktijdige verbindingen en 1 miljoen berichten per maand. Betaalde plannen beginnen bij $49/maand voor 1000 gelijktijdige verbindingen met onbeperkt aantal berichten.

Ondersteunt PubNub versleuteling?

Ja, PubNub ondersteunt TLS 1.3 voor alle verbindingen en optionele end-to-end versleuteling aan de clientzijde (AES-256) met sleutelbeheer via PAM. Voor enterprise-klanten is de Cipher Key-modus beschikbaar.

Welke talen ondersteunt PubNub SDK?

PubNub biedt SDK's voor 75+ platforms, waaronder JavaScript, Swift, Kotlin, Java, Dart, C#, Python, Ruby, Go, C++, PHP, Rust en Objective-C. Dit is het grootste ecosysteem onder real-time diensten.

Samenvatting

  • PubNub — wereldwijd real-time berichtennetwerk met 15+ datacentra en ondersteuning voor 75+ platforms.
  • Het sleutelsysteem publish/subscribe/secret + PAM zorgt voor flexibel beheer van toegangsrechten.
  • PubNub Functions maken serverless berichtverwerking mogelijk zonder eigen serverinfrastructuur.
  • Stream Controller beheert routering, filtering en transformatie van berichten op de edge-nodes van het netwerk.
  • Mobile Push Gateway stuurt automatisch pushmeldingen via APNs en FCM voor offline abonnees.
  • Kanalen ondersteunen tot 50 000 abonnees, en Channel Groups vereenvoudigen het beheer van meerdere kanalen.
  • Voor projecten met brede platformondersteuning en ingebouwde berichtverwerking kiest u PubNub; voor eenvoudigere scenario's volstaat Pusher.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook