PubNub — mi ez, valós idejű SDK és hogyan működik az alkalmazásokban

Szerző: IT Sectr Megjelenés: 2026-06-02 Olvasási idő: 8 perc

PubNub — egy globális hálózat valós idejű üzenetküldéshez, amely infrastruktúrát biztosít üzenetek közzétételéhez és feliratkozásához WebSocketen keresztül minimális késleltetéssel. Olyan alkalmazások számára készült, amelyek megbízható adatkézbesítést igényelnek nagy terhelés és instabil kapcsolat mellett. A PubNub hivatalos dokumentációja (2025) szerint a platform havonta több mint 1 billió üzenetet dolgoz fel 70 000+ alkalmazás számára világszerte.

Főbb pontok

  • PubNub — globális hálózat valós idejű üzenetekhez 15+ adatközponttal és garantált kézbesítéssel.
  • Pub/Sub kulcsokkal — közzététel és feliratkozás publish/subscribe kulcsokon keresztül a hozzáférési jogok szétválasztásával.
  • Stream Controller — üzenetfolyam kezelése szűrési, transzformációs és pufferelési támogatással.
  • Presence — a csatorna résztvevőinek online állapotának nyomon követése időtúllépéses érzékeléssel.
  • SDK 75+ platformhoz — a legnagyobb klienskönyvtár-ökoszisztéma a valós idejű szolgáltatások között.

Mi az a PubNub?

PubNub — egy globális valós idejű adatátviteli hálózat, amelyet 2010-ben alapítottak. API-t biztosít üzenetek közzétételéhez és feliratkozásához, valamint további szolgáltatásokat: előzmények tárolása, jelenlét kezelése, serverless funkciók (PubNub Functions) és adatfolyam-analitika.

A PubNub architektúrája egy elosztott jelenléti pontokból álló hálózaton (POP) alapul, amelyek 15+ földrajzi régióban helyezkednek el. Minden pont gyorsítótárazó brókereket tartalmaz, amelyek minimális késleltetéssel irányítják az üzeneteket a kiadók és feliratkozók között. A PubNub nem használ egyetlen központi brókert — minden régió függetlenül működik és a globális hálózaton keresztül szinkronizál.

A PubNub hivatalos weboldala (2025) szerint a platform több mint 70 000 alkalmazást szolgál ki 200+ országban. A kulcsfontosságú ügyfelek közé tartozik a Logitech (IoT-eszközök kezelése), a GoPro (valós idejű videó közvetítés), az eBay (aukciók szinkronizálása) és a Snapchat (chat és értesítések).

A PubNub alapelvei

A PubNub három elvre épül: sebesség (10 ms-nál kisebb késleltetés a 95. percentilisben egy régión belül), megbízhatóság (at-least-once kézbesítési garancia automatikus újrapróbálkozással) és skálázhatóság (horizontális bővítés a csatornák számának korlátozása nélkül). A platform nem tárolja az üzeneteket hosszú távú tárhelyen — az előzmények a külön csatlakoztatható Storage & Playback szolgáltatáson keresztül érhetők el.

Hogyan működik a PubNub

A PubNub működési modellje a klasszikus publish-subscribe mintán alapul. A kiadó kliens egy üzenetet küld a csatorna megadásával a PubNub REST API-n keresztül a publish kulccsal. A PubNub kézbesíti az üzenetet a csatorna összes feliratkozójának az aktív WebSocket-kapcsolataikon keresztül. A feliratkozók a PubNub SDK-ban regisztrált callback-kezelőn keresztül kapják meg az üzenetet.

A szállítási réteg a PubNub elsődleges protokollként a WebSocketet használja, HTTP long-polling tartalékkal a korlátozott környezetek számára. Az SDK automatikusan kezeli a kapcsolatot: létrehozza, fenntartja a heartbeat-et (15–60 másodpercenként a hálózattól függően) és újracsatlakozik megszakítás esetén.

Minden üzenet a PubNubban metaadatokat tartalmaz: a feladó UUID-je, időbélyeg, sorszám (timetoken) és jelzők (store, replicate, eatAfterRead). Timetoken — egy egyedi, időalapú PubNub azonosító, amely garantálja az üzenetek globális sorrendjét a csatornában. A PubNub dokumentáció (2025) szerint a timetoken felbontása 10 nanomásodperc.

Üzenetfolyam

Amikor egy kliens közzétesz egy üzenetet, az áthalad a Stream Controlleren — a PubNub útválasztó modulján. A Stream Controller ellenőrzi a hozzáférési jogokat (PAM), alkalmazza a transzformációs szabályokat (PubNub Functions), meghatározza a célrégiókat és elküldi az üzenetet az összes feliratkozónak. Ha egy feliratkozó le van csatlakoztatva, az üzenet 30 másodpercig (alapértelmezett) pufferelésre kerül a kapcsolat helyreállításának várakozása közben.

PubNub kulcsok: publish, subscribe, secret

A PubNub kulcsrendszere három szintre osztja a hozzáférési jogokat: publish kulcs (csak közzététel), subscribe kulcs (csak feliratkozás) és secret kulcs (adminisztráció). Minden alkalmazás három kulcsból álló készletet kap a regisztrációkor, de a secret kulcs soha nem kerül továbbításra a kliensnek — csak a szerver oldalon használatos.

A publish kulcs üzenetek csatornákba küldésére szolgál. A subscribe kulcs — csatornákra való feliratkozásra és üzenetek fogadására. A secret kulcs — a hozzáférés kezelésére a PubNub Access Manageren (PAM) keresztül, ideiglenes közönségtokenek létrehozására és kulcsok kezelésére. A secret kulcs biztonságosan tárolódik a szerveren, és soha nem kerül nyilvánosságra a kliensek számára.

A PubNub több hitelesítési módot támogat: IP-cím szerint (szerverek számára), titkos kulcs szerint (adminisztratív műveletekhez), ideiglenes tokenek szerint (kliensek számára). Az ideiglenes tokenek a PAM-on keresztül kerülnek kiadásra időbeli korlátozással, csatornákkal és jogosultságokkal (read, write, manage).

PubNub csatornák

PubNub csatornák — elnevezett útvonalak az üzenetek számára. A csatorna neve legfeljebb 92 karakter hosszúságú karakterlánc, amely latin betűket, számokat, kötőjeleket és aláhúzásjeleket támogat. A csatornák dinamikusan jönnek létre az első közzétételkor vagy feliratkozáskor. A PubNub támogatja a csatornamintákat a * szimbólumon keresztül a subscribe kérésben — ez lehetővé teszi a csatornacsoportra való feliratkozást (pl. user-*).

Channel Groups — a csatornák csoportosításának mechanizmusa tömeges feliratkozáshoz. Ahelyett, hogy 50 különálló csatornára fizetne elő, a kliens egy csoportra fizet elő, és a csoportba tartozó csatornák összes üzenete automatikusan kézbesítésre kerül a kliens számára. A Channel Groups támogatja a beágyazást, de a mélység nem haladhatja meg a 3 szintet.

A PubNub technikai dokumentációja (2025) szerint a maximális feliratkozók száma egy csatornán 50 000. Magasabb terheléshez előtagokkal ellátott csatornák használata és a közönség shardolása javasolt (pl. chat-room-001, chat-room-002). A Channel Groups földrajzi vagy tematikus elv szerint is szervezhetők.

ParaméterMaximumMegjegyzés
Csatornanév hossza92 karakterLatin betűk, számok, -, _
Feliratkozók csatornánként50 000Több — shardolni
Channel Groups2000 csoport / kulcsAkár 500 csatorna csoportonként
Előzmények (storage)KorlátlanFizetés a tárolási mennyiségért

PubNub használata egy projektben

A PubNub integrációja regisztrációt, alkalmazás létrehozását az admin panelben és kulcskészlet beszerzését igényli. A PubNub könyvtárak elérhetők JavaScript, Swift, Kotlin, Java, Dart (Flutter), C#, Python, Ruby, Go és sok más nyelvhez. Nézzünk egy példát JavaScriptben böngészőhöz és Node.js-hez.

A PubNub dokumentáció (2025) szerint a pubnub-js könyvtár támogatja a CommonJS és az ES Module importálást is. Böngészőhöz az npm-en keresztüli telepítés, majd a webpack vagy vite segítségével történő bundling javasolt.

Feliratkozás egy csatornára

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('Új üzenet:', event.message);
    },
    presence: (event) => {
        console.log('Jelenlét:', event.uuid, event.action);
    }
});

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

Üzenetek előzményeinek lekérése

js
pubnub.fetchMessages(
    { channels: ['chat-general'], count: 50 },
    (status, response) => {
        if (status.error) {
            console.error('Hiba az előzmények lekérésekor', status);
            return;
        }
        const messages = response.channels['chat-general'];
        messages.forEach((msg) => {
            console.log(msg.message, msg.timetoken);
        });
    }
);

PubNub Functions és Stream Controller

PubNub Functions — serverless platform üzenetek feldolgozásához a PubNub oldalán. A függvények JavaScriptben íródnak és biztonságos elkülönített környezetben (V8 isolate) hajtódnak végre. Képesek az üzeneteket a feliratkozókhoz való kézbesítés előtt transzformálni, szűrni, pufferelni és átirányítani.

Stream Controller — beépített útválasztó mechanizmus, amely szabályok alapján kezeli az üzenetfolyamot. A szabályok meghatározzák, hogy mely üzenetek kerüljenek kézbesítésre, melyek eldobásra, és melyek irányításra a PubNub Functions felé feldolgozásra. A Stream Controller támogatja a feltételes útválasztást az üzenet tartalma, a csatorna típusa vagy a metaadatok alapján.

A PubNub blog (2024) szerint a PubNub Functions 40–60%-kal csökkentik a szerverinfrastruktúra költségeit az üzenetfeldolgozás során, mivel a szűrési és transzformációs logika a PubNub peremcsomópontjain hajtódik végre, nem a saját szerveren. A függvények hozzáférnek a HTTP-kérésekhez, a Key-Value tárolóhoz és más függvényekhez ugyanabban a térben.

PubNub mobilalkalmazásokban

PubNub SDK mobil platformokhoz elérhető iOS (Swift), Android (Kotlin/Java), Flutter (Dart) és React Native (JavaScript) rendszerekhez. A mobil SDK-k támogatják a teljes funkciókészletet: pub/sub, jelenlét, előzmények, PAM és PubNub Functions. A push értesítésekhez a PubNub az APNs és FCM rendszerekkel integrálódik egy speciális mobile push gateway mechanizmuson keresztül.

Optimalizálás mobil eszközökhöz magában foglalja az adaptív heartbeat-et, az üzenetek kötegelt feldolgozását és a háttérmódok támogatását. A PubNub SDK iOS-hez a Background Task API-t használja a kapcsolat fenntartásához, amikor az alkalmazás minimálisra van csökkentve (akár 30 másodperc szokásos háttéridő). Hosszabb háttérmunkához push értesítések használata szükséges.

Mobile Push Gateway — a push értesítések PubNubon keresztüli küldésének mechanizmusa. Amikor egy üzenetet közzétesznek egy csatornában, a PubNub automatikusan meghatározza, hogy mely feliratkozók vannak offline, és push értesítést küld nekik az APNs (iOS) vagy FCM (Android) rendszeren keresztül. A konfiguráció egyszer történik meg az admin panelben — ezt követően a csatorna összes üzenete automatikusan duplikálódik a push csatornába. A PubNub dokumentáció (2025) szerint a gateway másodpercenként akár 10 000 push értesítést is feldolgoz.

Gyakran Ismételt Kérdések

Miben különbözik a PubNub a Pushertől?

A PubNub több SDK-t (75+ platform), beépített serverless funkciókat és Stream Controller-t kínál az üzenetfeldolgozáshoz. A Pusher egyszerűbben beállítható, de a PubNub nagyobb vezérlést biztosít az útválasztás és az adat-transzformáció felett.

Hogyan garantálja a PubNub az üzenetek kézbesítését?

A PubNub az at-least-once mechanizmust használja automatikus újrapróbálkozással hiba esetén. Minden üzenet egyedi timetoken-nel rendelkezik a deduplikációhoz. Az üzenetek 30 másodpercig pufferelődnek az offline feliratkozók számára.

Mennyibe kerül a PubNub?

Az ingyenes terv 100 egyidejű kapcsolatot és havi 1 millió üzenetet tartalmaz. A fizetős tervek 49 $/hó ártól kezdődnek 1000 egyidejű kapcsolatért korlátlan üzenetszámmal.

Támogatja a PubNub a titkosítást?

Igen, a PubNub támogatja a TLS 1.3-at minden kapcsolathoz és opcionális end-to-end titkosítást a kliens oldalon (AES-256) kulcskezeléssel a PAM-on keresztül. Vállalati ügyfelek számára elérhető a Cipher Key mód.

Milyen nyelveket támogat a PubNub SDK?

A PubNub SDK-t biztosít 75+ platformhoz, beleértve a JavaScript, Swift, Kotlin, Java, Dart, C#, Python, Ruby, Go, C++, PHP, Rust és Objective-C nyelveket. Ez a legnagyobb ökoszisztéma a valós idejű szolgáltatások között.

Összefoglalás

  • PubNub — globális valós idejű üzenetküldő hálózat 15+ adatközponttal és 75+ platform támogatással.
  • Kulcsrendszer publish/subscribe/secret + PAM rugalmas hozzáférési jogosultságkezelést biztosít.
  • PubNub Functions lehetővé teszi a serverless üzenetfeldolgozást saját szerverinfrastruktúra nélkül.
  • Stream Controller kezeli az üzenetek útválasztását, szűrését és transzformációját a hálózat peremcsomópontjain.
  • Mobile Push Gateway automatikusan küld push értesítéseket az APNs és FCM rendszereken keresztül az offline feliratkozóknak.
  • Csatornák támogatják akár 50 000 feliratkozót, a Channel Groups pedig leegyszerűsíti a több csatorna kezelését.
  • Széles platformtámogatással és beépített üzenetfeldolgozással rendelkező projektekhez válassza a PubNubot; egyszerűbb forgatókönyvekhez a Pusher is elegendő.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is