Pusher — bu nədir, real-time platforma və tətbiqlərə inteqrasiya

Müəllif: IT Sectr Dərc olunub: 2026-06-01 Oxuma vaxtı: 8 dəq

Pusher: ikitərəfli real-time rabitə üçün hosted-xidmət, kanallar, hadisələr və webhook bildirişləri üçün infrastruktur təmin edir. O, tərtibatçını öz WebSocket serverini qurmaq zərurətindən azad edir və milyonlarla cihaza mesaj çatdırılmasını təmin edir. Pusher rəsmi sənədlərinə (2025) görə, xidmət aylıq olaraq bütün dünyada 40 milyarddan çox mesaj emal edir.

Əsas məqamlar

  • Pusher — öz server idarəçiliyini tələb etməyən real-time mesajlar üçün bulud xidmətidir.
  • Kanallar və hadisələr — mesajların nəşri public, private, presence tiplərini dəstəkləyən adlandırılmış kanallar vasitəsilə həyata keçirilir.
  • WebSocket nəqli — müştərilər HTTP polling-ə fallback ilə WebSocket vasitəsilə qoşulur.
  • Webhook inteqrasiyası — server hadisələri HTTP-hüquqları vasitəsilə sizin backend-ə çatdırılır.
  • Bütün platformalar üçün SDK — JavaScript, iOS, Android, React Native və server dilləri üçün hazır müştərilər.

Pusher nədir?

Pusher — 2011-ci ildə əsası qoyulmuş ikitərəfli real-time rabitə üçün bulud xidmətidir. O, öz WebSocket serverini idarə etmədən real-time mesajlar göndərmək və qəbul etmək üçün hazır infrastruktur təqdim edir. Pusher söhbətlər, canlı bildirişlər, birgə redaktə və oyun liderlik lövhələri qurmaq üçün istifadə olunur.

Öz serverinin qurulmasını və saxlanmasını tələb edən Socket.IO kimi kitabxanalardan fərqli olaraq, Pusher SaaS (Software as a Service) modeli ilə işləyir. Tərtibatçı qeydiyyatdan keçir, açarlar (app_id, key, secret) alır və hadisələri dərc etmək üçün Pusher REST API-dən istifadə edir. Server infrastrukturu tamamilə Pusher platforması tərəfindən idarə olunur.

Pusher rəsmi bloquna (2025) görə, platforma bütün dünyada 250 000-dən çox aktiv layihəyə xidmət göstərir. Tanınmış müştərilər arasında GitHub (real-time bildirişlər), Trello (panoların sinxronizasiyası) və Intercom (dəstək söhbəti) var. Pusher gecikmələri minimuma endirmək üçün ABŞ, Avropa və Asiyada məlumat mərkəzlərini dəstəkləyir.

Pusher-in inkişaf tarixi

Pusher 2011-ci ildə WebSocket üçün ilk hosted-xidmətlərdən biri kimi işə salınıb. 2014-cü ildə şirkət Pusher Channels-ı təqdim etdi — private və presence kanallarını dəstəkləyən cari arxitektura. 2017-ci ildə server tərəfi hadisələri üçün webhook dəstəyi əlavə edildi. 2022-ci ildə Pusher Pusher Beams — mobil platformalar üçün push bildiriş xidmətini işə saldı.

Pusher arxitekturası self-hosted həllərdən onunla fərqlənir ki, abunəliklərin işlənməsi, əlaqələrin idarə edilməsi və hadisələrin marşrutlaşdırılması Pusher Cloud tərəfindən həyata keçirilir. Tərtibatçı yalnız öz backend-i vasitəsilə private kanalların autentifikasiyasını idarə edir.

Pusher necə işləyir

Pusher arxitekturası Publisher-Subscriber modelinə əsaslanır. Server tətbiqləri Pusher REST API vasitəsilə hadisələri dərc edir, müştəri tətbiqləri isə onları daimi WebSocket əlaqəsi vasitəsilə alır. Pusher nəşr edənlər və abunə olanlar arasında vasitəçi rolunu oynayır.

Server Pusher API-ə POST sorğusu vasitəsilə hadisə göndərdikdə, platforma hədəf kanalı müəyyənləşdirir və mesajı bu kanala abunə olan bütün müştərilərə yayımlayır. Müştərilər hadisəni artıq açılmış WebSocket əlaqəsi vasitəsilə alır, bu da coğrafi yerdən asılı olaraq 50–100 ms gecikmə təmin edir.

Hər bir müştəri Pusher Client SDK vasitəsilə əlaqə qurur, o avtomatik olaraq nəqliyyatı seçir (WebSocket — prioritet, HTTP long-polling — fallback). SDK tərtibatçının iştirakı olmadan yenidən qoşulma, məlumatların seriyalaşdırılması və səhvlərin işlənməsini idarə edir. Pusher texniki sənədlərinə (2025) görə, şəbəkə qopması zamanı yenidən qoşulma müddəti 1 saniyədən azdır.

Pusher komponentləri

Sistem üç komponentdən ibarətdir: Pusher Server API (hadisələrin dərci üçün REST son nöqtələri), Pusher Client SDK (hadisələrə abunə olmaq üçün kitabxanalar) və Pusher WebHook (qoşulma/ayrılma hadisələri haqqında server bildirişləri). Bütün komponentlər asinxron və müstəqil işləyir.

Pusher kanal növləri

Pusher Channels üç növ kanalı dəstəkləyir, hər biri müxtəlif istifadə ssenariləri üçün nəzərdə tutulub. Kanal növünün seçimi giriş səviyyəsini, autentifikasiya mexanizmini və mövcud imkanları müəyyən edir.

Kanal növüPrefiksAutentifikasiyaİstifadə
Publicchannel-Tələb olunmurİctimai məlumatlar: valyuta məzənnələri, hava, xəbər lenti
Privateprivate-Serverdə sorğunun imzalanmasıŞəxsi bildirişlər, söhbətlər, istifadəçi məlumatları
Presencepresence-İmza + istifadəçi haqqında məlumatOnlayn status, oyun otaqları, birgə redaktə

Public kanallar autentifikasiya olmadan bütün müştərilər üçün əlçatandır və yayım məlumatları üçün uyğundur. Private kanallar tərtibatçının serveri vasitəsilə autentifikasiya tələb edir: müştəri öz backend-inə socket_id və channel_name ilə sorğu göndərir, server sorğunu Pusher məxfi açarı ilə imzalayır və auth tokeni qaytarır. Presence kanalları əlavə olaraq istifadəçi haqqında məlumat (user_id, user_info) ötürür və kimin onlayn olduğunu izləməyə imkan verir.

Pusher sənədlərinə (2025) görə, bir kanala eyni anda qoşulmuş müştərilərin maksimum sayı public və private kanallar üçün 10 000-dir. Presence kanalları üçün məhdudiyyət hər kanal üçün 10 000 istifadəçi, tətbiq üzrə 100 000 istifadəçiyə qədər dəstəklənir.

Pusher hadisələri və triggerləri

Pusher hadisə modeli kanalda dərc olunan adlandırılmış hadisələrə əsaslanır. Hər bir hadisənin adı (maksimum 200 simvol), JSON formatında məlumatları və hadisə başladıcısına təkrar göndərilməni istisna etmək üçün isteğe bağlı socket_id var.

Triggerlər — bunlar Pusher API-ə kanalda hadisə dərc edən HTTP POST sorğularıdır. Sorğu formatı: POST /apps/{app_id}/events, channel, name və data daxil olmaqla. Pusher Server API rəsmi kitabxanalar (PHP, Ruby, Python, Go, Java, Node.js) vasitəsilə istənilən server mühitindən triggerləri dəstəkləyir.

Pusher batch-triggerləri dəstəkləyir — bir sorğu ilə bir hadisənin bir neçə kanalda dərci. Bu, ardıcıl çağırışlardan daha səmərəlidir və çatdırılmanın atomarlığını təmin edir. Pusher performans testlərinə (2024) görə, 100 kanalda batch-trigger 30–50 ms çəkir, ardıcıl çağırışlar isə 2–5 saniyə çəkir.

Webhook inteqrasiyası

Pusher WebHook serverinizə infrastruktur hadisələri haqqında bildirişlər almağa imkan verir: müştəri qoşulması, ayrılması, xətanın baş verməsi. Webhook sorğuları yoxlama üçün HMAC-SHA256 ilə imzalanır. Bu, loglama, analitika və vəziyyət sinxronizasiyası üçün vacibdir.

Pusher-i layihəyə necə inteqrasiya etmək

Pusher inteqrasiyası iki hissədən ibarətdir: server tərəfi (hadisələrin dərci) və müştəri tərəfi (hadisələrə abunə olmaq). Server hissəsi üçün Node.js və müştəri hissəsi üçün JavaScript nümunəsinə baxaq. Başlamaq üçün Pusher panelində tətbiq yaratmaq və etimadnamə əldə etmək lazımdır.

Pusher sənədlərinə (2025) görə, əsas plan (Sandbox) 100 eyni vaxtda qoşulma və gündə 200 000 mesaj daxildir — inkişaf və sınaq üçün kifayətdir. Production planları 1000 qoşulma üçün ayda $49-dan başlayır.

Server kodu: hadisənin dərci

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('Hadisə dərc edildi');
}).catch(console.error);

Müştəri kodu: hadisələrə abunə olmaq

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('Alınan hadisə:', data);
    displayNotification(data.message);
});

Pusher mobil tətbiqlərdə

Pusher SDK təqdim edir iOS (Swift) və Android (Java/Kotlin) üçün, JavaScript müştərisinin funksionallığını tamamilə təkrarlayır. Mobil SDK-lar eyni kanal növlərini, autentifikasiya mexanizmini və hadisə modelini dəstəkləyir. React Native üçün JavaScript körpüsü vasitəsilə işləyən pusher-js paketi mövcuddur.

Mobil cihazlarda Pusher SDK eksponensial gecikmə ilə yenidən qoşulma mexanizmindən istifadə edərək Wi-Fi və mobil şəbəkə arasında keçidi avtomatik idarə edir. Bu, xüsusilə iOS tətbiqləri üçün vacibdir, çünki iOS fon işi zamanı WebSocket əlaqələrini məcburi bağlaya bilər.

Pusher texniki bloquna (2024) görə, aktiv hadisələr olmadıqda bir Pusher əlaqəsinin orta trafik istehlakı dəqiqədə 1–2 KB təşkil edir. Bu, 30 saniyə intervalı ilə optimallaşdırılmış heartbeat protokolu sayəsində əldə edilir. Orta ölçülü tətbiq batareya istehlakına əhəmiyyətli təsir göstərmədən 1000-ə qədər eyni vaxtda Pusher əlaqəsini dəstəkləyə bilər.

Push bildirişləri üçün Pusher Beams

Pusher Beams — APNs (iOS) və FCM (Android) vasitəsilə mobil cihazlara push bildirişləri göndərmək üçün əlavə xidmət. Beams Pusher Channels ilə inteqrasiya olunur: kanaldakı hadisə, müştəri offline olduqda avtomatik olaraq push bildirişini tetikleye bilər. Bu, bağlı tətbiq zamanı mesajların çatdırılması problemini həll edir.

Pusher təhlükəsizliyi və autentifikasiyası

Pusher təhlükəsizliyi bir neçə səviyyədə həyata keçirilir. Pusher API-ə hər sorğu app_secret istifadə edərək HMAC-SHA256 ilə imzalanır. Bu, yalnız səlahiyyətli serverin hadisələri dərc edə biləcəyinə zəmanət verir. Müştəri SDK-ları tətbiqi identifikasiya etmək üçün app_key istifadə edir, lakin private və presence kanallarına daxil olmaq üçün əlavə autentifikasiya tələb olunur.

Private kanalların autentifikasiyası üç addımda baş verir: müştəri pusher.subscribe('private-channel') çağırır, Pusher Client SDK sizin backend son nöqtənizə (/pusher/auth) HTTP sorğusu göndərir, server istifadəçinin hüquqlarını yoxlayır və məxfi açarla imzalanmış auth tokeni qaytarır. Pusher imzanı yoxlayır və abunəliyə icazə verir.

Bütün sorğular üçün TLS əlaqələrindən istifadə etmək tövsiyə olunur (SDK-da useTLS: true ayarı). Pusher həmçinin REST API-ə server sorğuları üçün IP ünvanları ilə giriş məhdudiyyətini dəstəkləyir. Enterprise tarifləri üçün VPC (Virtual Private Cloud) və izolə edilmiş infrastruktura malik ayrılmış klasterlərin dəstəyi mövcuddur.

Tez-tez verilən suallar

Pusher Socket.IO-dan nə ilə fərqlənir?

Pusher — server idarəçiliyini tələb etməyən hosted-xidmətdir (SaaS). Socket.IO — özünüz qurmalı olduğunuz kitabxanadır. Pusher quraşdırmada daha sadədir, lakin miqyaslandırmada daha bahalıdır, Socket.IO DevOps işi tələb edir, lakin böyük həcmdə daha ucuzdur.

Pusher nə qədərdir?

Pulsuz Sandbox planı 100 qoşulma və gündə 200 000 mesaj daxildir. Production planları ayda $49-dan (1000 qoşulma, limitsiz mesaj) fərdi şərtlərlə enterprise səviyyəsinə qədər başlayır.

Pusher mesajların çatdırılmasını necə təmin edir?

Pusher HTTP long-polling-ə avtomatik fallback ilə WebSocket istifadə edir. Kritik mesajlar üçün Pusher tərəfində ən azı bir dəfə (at-least-once) çatdırılma zəmanəti ilə növbə mövcuddur.

Pusher-dən Rusiyada istifadə etmək olar?

Bəli, Pusher Rusiyadan Avropa klasteri (eu) vasitəsilə əlçatandır. Avropa məlumat mərkəzləri üçün gecikmə 50–100 ms təşkil edir. Məlumatların lokallaşdırılması tələbləri olan layihələr üçün alternativləri nəzərdən keçirmək tövsiyə olunur.

Pusher-in hansı alternativləri var?

Əsas rəqiblər — Ably (oxşar funksionallıq, daha çevik tariflər), PubNub (qlobal çatdırılma şəbəkəsi), Socket.IO (self-hosted) və Firebase Realtime Database (Google ekosistemi).

Nəticələr

  • Pusher — öz server infrastrukturunuzu idarə etməyi tələb etməyən real-time mesajlar üçün bulud SaaS xidmətidir.
  • Üç növ kanal — public (autentifikasiyasız), private (imza ilə) və presence (istifadəçilərin izlənilməsi ilə) — bütün ssenariləri əhatə edir.
  • Hadisə modeli REST API vasitəsilə dərc olunan JSON-payload ilə adlandırılmış hadisələrə əsaslanır.
  • Mobil SDK iOS və Android üçün avtomatik yenidən qoşulma və optimallaşdırılmış trafik istehlakını dəstəkləyir.
  • Təhlükəsizlik sorğuların HMAC imzası, TLS şifrələməsi və backend vasitəsilə private kanalların autentifikasiyası ilə təmin edilir.
  • Pusher Beams APNs və FCM vasitəsilə offline çatdırılma üçün push bildirişləri əlavə edir.
  • Kiçik layihələr üçün sürətli başlanğıcla Pusher optimaldır, çox sayda qoşulmada self-hosted Socket.IO daha qənaətcildir.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun