Pusher — mi ez, valós idejű platform és integráció alkalmazásokban

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

Pusher: hosztolt szolgáltatás kétirányú valós idejű kommunikációhoz, infrastruktúrát biztosítva csatornákhoz, eseményekhez és webhook-értesítésekhez. Megszabadítja a fejlesztőt a saját WebSocket-szerver telepítésének szükségességétől, és biztosítja az üzenetek eljuttatását milliónyi eszközhöz. A hivatalos Pusher dokumentáció (2025) szerint a szolgáltatás havonta több mint 40 milliárd üzenetet dolgoz fel világszerte.

Főbb pontok

  • Pusher — felhőalapú szolgáltatás valós idejű üzenetekhez, amely nem igényel saját szerverkezelést.
  • Csatornák és események — az üzenetek közzététele elnevezett csatornákon keresztül történik, támogatva a public, private, presence típusokat.
  • WebSocket szállítás — a kliensek WebSocketen keresztül csatlakoznak, HTTP polling tartalékkal.
  • Webhook integráció — a szerveresemények HTTP-horgokon keresztül kerülnek a backendhez.
  • SDK minden platformhoz — kész kliensek JavaScript, iOS, Android, React Native és szervernyelvekhez.

Mi az a Pusher?

Pusher — felhőalapú szolgáltatás kétirányú valós idejű kommunikációhoz, amelyet 2011-ben alapítottak. Kész infrastruktúrát biztosít valós idejű üzenetek küldéséhez és fogadásához anélkül, hogy saját WebSocket-szervert kellene kezelni. A Pusher chatek, élő értesítések, közös szerkesztés és játék ranglisták építésére használható.

Ellentétben az olyan könyvtárakkal, mint a Socket.IO, amelyek saját szerver telepítését és karbantartását igénylik, a Pusher SaaS (Software as a Service) modellben működik. A fejlesztő regisztrál, kap kulcsokat (app_id, key, secret), és a Pusher REST API-t használja események közzétételére. A szerverinfrastruktúrát teljes mértékben a Pusher platform kezeli.

A hivatalos Pusher blog (2025) szerint a platform több mint 250 000 aktív projektet szolgál ki világszerte. Az ismert ügyfelek közé tartozik a GitHub (valós idejű értesítések), a Trello (táblák szinkronizálása) és az Intercom (támogatási chat). A Pusher adatközpontokat támogat az USA-ban, Európában és Ázsiában a késleltetés minimalizálása érdekében.

A Pusher fejlődésének története

A Pusher 2011-ben indult az egyik első hosztolt WebSocket-szolgáltatásként. 2014-ben a cég bemutatta a Pusher Channels-t — a jelenlegi architektúrát private és presence csatornák támogatásával. 2017-ben hozzáadták a webhook támogatást a szerveroldali eseményekhez. 2022-ben a Pusher elindította a Pusher Beams-t — push-értesítési szolgáltatást mobil platformokhoz.

A Pusher architektúrája abban különbözik a self-hosted megoldásoktól, hogy az összes feliratkozás feldolgozása, kapcsolatkezelés és eseményútválasztás a Pusher Cloud oldalán történik. A fejlesztő csak a private csatornák hitelesítését kezeli a saját backendjén keresztül.

Hogyan működik a Pusher

A Pusher architektúrája a Publisher-Subscriber modellen alapul. A szerveralkalmazások eseményeket tesznek közzé a Pusher REST API-n keresztül, a kliensalkalmazások pedig állandó WebSocket-kapcsolaton keresztül fogadják azokat. A Pusher közvetítőként működik a kiadók és a feliratkozók között.

Amikor a szerver egy eseményt küld POST kérésen keresztül a Pusher API-nak, a platform meghatározza a célcsatornát, és eljuttatja az üzenetet az összes, arra a csatornára feliratkozott klienshez. A kliensek a már megnyitott WebSocket-kapcsolaton keresztül kapják az eseményt, ami 50–100 ms késleltetést biztosít a földrajzi elhelyezkedéstől függően.

Minden kliens a Pusher Client SDK-n keresztül létesít kapcsolatot, amely automatikusan kiválasztja a szállítást (WebSocket — elsőbbség, HTTP long-polling — tartalék). Az SDK kezeli az újracsatlakozást, az adatok sorosítását és a hibakezelést a fejlesztő részvétele nélkül. A Pusher műszaki dokumentációja (2025) szerint az újracsatlakozási idő hálózati megszakítás esetén kevesebb mint 1 másodperc.

A Pusher összetevői

A rendszer három összetevőből áll: Pusher Server API (REST-végpontok események közzétételéhez), Pusher Client SDK (könyvtárak eseményekre való feliratkozáshoz) és Pusher WebHook (szerverértesítések kapcsolódási/lecsatlakozási eseményekről). Minden összetevő aszinkron és független módon működik.

Pusher csatornatípusok

A Pusher Channels három csatornatípust támogat, amelyek mindegyike különböző használati forgatókönyvekhez készült. A csatorna típusának kiválasztása meghatározza a hozzáférési szintet, a hitelesítési mechanizmust és a rendelkezésre álló képességeket.

Csatorna típusaElőtagHitelesítésHasználat
Publicchannel-Nem szükségesNyilvános adatok: árfolyamok, időjárás, hírfolyam
Privateprivate-Kérés aláírása a szerverenSzemélyes értesítések, chatek, felhasználói adatok
Presencepresence-Aláírás + felhasználói információOnline állapot, játékszobák, közös szerkesztés

A Public csatornák minden kliens számára elérhetők hitelesítés nélkül, és alkalmasak adatszórásra. A Private csatornák hitelesítést igényelnek a fejlesztő szerverén keresztül: a kliens kérést küld a saját backendjének socket_id és channel_name paraméterekkel, a szerver aláírja a kérést a Pusher titkos kulccsal, és visszaad egy auth tokent. A Presence csatornák emellett felhasználói információkat (user_id, user_info) továbbítanak, és lehetővé teszik annak nyomon követését, hogy ki van online.

A Pusher dokumentáció (2025) szerint a csatornánként egyidejűleg csatlakoztatott kliensek maximális száma 10 000 a public és private csatornák esetében. A presence csatornák esetében a korlát 10 000 felhasználó csatornánként, legfeljebb 100 000 felhasználó alkalmazásonként.

Pusher események és triggerek

A Pusher eseménymodellje elnevezett eseményeken alapul, amelyeket egy csatornában tesznek közzé. Minden eseménynek van neve (maximum 200 karakter), adatai JSON formátumban, és opcionális socket_id az esemény kezdeményezőjének történő ismételt elküldés kizárásához.

A triggerek — HTTP POST kérések a Pusher API-hoz, amelyek egy eseményt tesznek közzé egy csatornában. A kérés formátuma: POST /apps/{app_id}/events, a törzs tartalmazza a channel, name és data paramétereket. A Pusher Server API támogatja a triggereket bármilyen szerverkörnyezetből a hivatalos könyvtárakon keresztül (PHP, Ruby, Python, Go, Java, Node.js).

A Pusher támogatja a batch triggereket — egy esemény közzétételét több csatornában egyetlen kéréssel. Ez hatékonyabb, mint a szekvenciális hívások, és garantálja a kézbesítés atomosságát. A Pusher teljesítménytesztjei (2024) szerint a batch trigger 100 csatornán 30–50 ms-ig tart, míg a szekvenciális hívások 2–5 másodpercig tartanak.

Webhook integráció

A Pusher WebHook lehetővé teszi a szerver számára, hogy értesítéseket kapjon az infrastruktúra-eseményekről: kliens csatlakozása, lecsatlakozása, hiba bekövetkezése. A Webhook kéréseket HMAC-SHA256 aláírással látják el az ellenőrzéshez. Ez kulcsfontosságú a naplózáshoz, analitikához és az állapot szinkronizálásához.

Pusher integrálása a projektbe

A Pusher integráció két részből áll: szerveroldali (események közzététele) és kliensoldali (feliratkozás eseményekre). Nézzünk egy példát Node.js-en a szerveroldali részhez és JavaScript-en a kliensoldali részhez. Először létre kell hozni egy alkalmazást a Pusher irányítópulton, és meg kell szerezni a hitelesítő adatokat.

A Pusher dokumentáció (2025) szerint az alapcsomag (Sandbox) legfeljebb 100 egyidejű kapcsolatot és napi 200 000 üzenetet tartalmaz — ami elegendő a fejlesztéshez és teszteléshez. A termelési csomagok havi $49-tól kezdődnek 1000 kapcsolatért.

Szerverkód: esemény közzététele

js
const Pusher = require('pusher');

const pusher = new Pusher({
    appId: 'YOUR_APP_ID',
    key: 'YOUR_KEY',
    secret: 'YOUR_SECRET',
    cluster: 'eu',
    useTLS: true
});

pusher.trigger('my-channel', 'my-event', {
    message: 'Hello from server',
    timestamp: Date.now()
}).then(() => {
    console.log('Esemény közzétéve');
}).catch(console.error);

Klienskód: feliratkozás eseményekre

js
import Pusher from 'pusher-js';

const pusher = new Pusher('YOUR_KEY', {
    cluster: 'eu',
    forceTLS: true
});

const channel = pusher.subscribe('my-channel');

channel.bind('my-event', (data) => {
    console.log('Fogadott esemény:', data);
    displayNotification(data.message);
});

Pusher mobilalkalmazásokban

A Pusher SDK-t biztosít iOS (Swift) és Android (Java/Kotlin) rendszerekhez, amelyek teljesen megismétlik a JavaScript kliens funkcióit. A mobil SDK-k ugyanazokat a csatornatípusokat, hitelesítési mechanizmust és eseménymodellt támogatják. A React Native számára elérhető a pusher-js csomag, amely a JavaScript hídon keresztül működik.

Mobil eszközökön a Pusher SDK automatikusan kezeli a Wi-Fi és a mobilhálózat közötti váltást, exponenciális késleltetésű újracsatlakozási mechanizmust használva. Ez különösen fontos az iOS alkalmazásoknál, ahol az iOS kényszerítheti a WebSocket-kapcsolatok bezárását háttérmunka során.

A Pusher műszaki blogja (2024) szerint egy Pusher-kapcsolat átlagos forgalomfogyasztása 1–2 KB percenként aktív események hiányában. Ezt egy optimalizált heartbeat protokollal érik el, 30 másodperces időközzel. Egy közepes méretű alkalmazás akár 1000 egyidejű Pusher-kapcsolatot is támogathat anélkül, hogy jelentősen befolyásolná az akkumulátor fogyasztását.

Pusher Beams push-értesítésekhez

A Pusher Beams — kiegészítő szolgáltatás push-értesítések küldésére mobileszközökre APNs (iOS) és FCM (Android) segítségével. A Beams integrálódik a Pusher Channels-szel: egy csatornán lévő esemény automatikusan kiválthat egy push-értesítést, ha a kliens offline. Ez megoldja az üzenetek kézbesítésének problémáját, amikor az alkalmazás be van zárva.

Pusher biztonság és hitelesítés

A Pusher biztonsága több szinten van megvalósítva. Minden, a Pusher API-nak küldött kérést HMAC-SHA256 aláírással látnak el az app_secret használatával. Ez garantálja, hogy csak egy jogosult szerver tehet közzé eseményeket. A kliens SDK-k az app_key-t használják az alkalmazás azonosításához, de a private és presence csatornák eléréséhez további hitelesítés szükséges.

A private csatornák hitelesítése három lépésben történik: a kliens meghívja a pusher.subscribe('private-channel') parancsot, a Pusher Client SDK HTTP kérést küld a backend végpontjához (/pusher/auth), a szerver ellenőrzi a felhasználó jogosultságait és visszaad egy titkos kulccsal aláírt auth tokent. A Pusher ellenőrzi az aláírást és engedélyezi a feliratkozást.

Ajánlott TLS-kapcsolatok használata minden kéréshez (useTLS: true beállítás az SDK-ban). A Pusher emellett támogatja az IP-cím szerinti hozzáférés korlátozását a REST API-nak küldött szerverkérésekhez. Vállalati csomagok esetén elérhető a VPC (Virtual Private Cloud) és dedikált klaszterek támogatása elszigetelt infrastruktúrával.

Gyakran ismételt kérdések

Miben különbözik a Pusher a Socket.IO-tól?

A Pusher — egy hosztolt szolgáltatás (SaaS), amely nem igényel szerverkezelést. A Socket.IO — egy könyvtár, amelyet saját magának kell telepítenie. A Pusher egyszerűbben beállítható, de drágább skálázáskor, a Socket.IO DevOps munkát igényel, de nagy mennyiségben olcsóbb.

Mennyibe kerül a Pusher?

Az ingyenes Sandbox csomag 100 kapcsolatot és napi 200 000 üzenetet tartalmaz. A termelési csomagok havi $49-tól (1000 kapcsolat, korlátlan üzenetek) az egyedi feltételekkel rendelkező enterprise szintig terjednek.

Hogyan biztosítja a Pusher az üzenetek kézbesítését?

A Pusher WebSocketet használ automatikus HTTP long-polling tartalékkal. Kritikus üzenetek esetén egy sor áll rendelkezésre a Pusher oldalán, at-least-once kézbesítési garanciával.

Használható a Pusher Oroszországban?

Igen, a Pusher elérhető Oroszországból az európai klaszteren (eu) keresztül. A késleltetés 50–100 ms az európai adatközpontok esetében. Adatlokalizációs követelményekkel rendelkező projektek esetén ajánlott alternatívákat fontolóra venni.

Milyen alternatívák léteznek a Pusher helyett?

A fő versenytársak az Ably (hasonló funkcionalitás, rugalmasabb díjszabás), a PubNub (globális kézbesítési hálózat), a Socket.IO (self-hosted) és a Firebase Realtime Database (Google ökoszisztéma).

Összegzés

  • A Pusher — felhőalapú SaaS szolgáltatás valós idejű üzenetekhez, amely nem igényli a saját szerverinfrastruktúra kezelését.
  • Három csatornatípus — public (hitelesítés nélkül), private (aláírással) és presence (felhasználók nyomon követésével) — lefed minden forgatókönyvet.
  • Az eseménymodell elnevezett eseményeken alapul JSON-payload-al, REST API-n keresztül közzétéve.
  • A mobil SDK-k iOS és Android rendszerekhez támogatják az automatikus újracsatlakozást és az optimalizált forgalomfogyasztást.
  • A biztonságot a kérések HMAC-aláírása, a TLS-titkosítás és a private csatornák backend-en keresztüli hitelesítése biztosítja.
  • A Pusher Beams push-értesítéseket ad az offline kézbesítéshez APNs és FCM segítségével.
  • Kis projektekhez gyors indítással a Pusher optimális, sok kapcsolat esetén a self-hosted Socket.IO gazdaságosabb.

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