PubNub — bu nima, real-time SDK va ilovalarda qanday ishlaydi

Muallif: IT Sectr Nashr etilgan: 2026-06-02 O'qish vaqti: 8 daq

PubNub — real-time xabar almashish uchun global tarmoq bo'lib, WebSocket orqali xabarlarni nashr qilish va obuna bo'lish uchun minimal kechikish bilan infratuzilma taqdim etadi. Yuqori yuklama va beqaror ulanish sharoitida ishonchli ma'lumot yetkazib berishni talab qiladigan ilovalar uchun mo'ljallangan. PubNub rasmiy hujjatlariga (2025) ko'ra, platforma oyiga 1 trillion xabardan ko'proq qayta ishlaydi va dunyo bo'ylab 70 000+ ilovaga xizmat ko'rsatadi.

Asosiy fikrlar

  • PubNub — 15+ ma'lumot markazi va kafolatlangan yetkazib berish bilan real-time xabarlar uchun global tarmoq.
  • Kalitlar bilan Pub/Sub — kirish huquqlarini ajratish bilan publish/subscribe kalitlari orqali nashr va obuna.
  • Stream Controller — filtrlash, transformatsiya va buferlash qo'llab-quvvatlashi bilan xabar oqimini boshqarish.
  • Presence — taym-aut bo'yicha aniqlash bilan kanal ishtirokchilarining onlayn holatini kuzatish.
  • 75+ platforma uchun SDK — real-time xizmatlar orasida eng katta mijoz kutubxonalar ekotizimi.

PubNub nima?

PubNub — 2010 yilda asos solingan global real-time ma'lumot uzatish tarmog'idir. U xabarlarni nashr qilish va obuna bo'lish uchun API, shuningdek qo'shimcha xizmatlar: tarixni saqlash, ishtirokni boshqarish, serverless funksiyalar (PubNub Functions) va ma'lumot oqimi analitikasini taqdim etadi.

PubNub arxitekturasi tarqatilgan ishtirok nuqtalari tarmog'iga (POP) asoslangan bo'lib, 15+ geografik mintaqada joylashgan. Har bir nuqta minimal kechikish bilan nashriyotchilar va obunachilar o'rtasida xabarlarni marshrutlaydigan keshlovchi brokerlarni o'z ichiga oladi. PubNub yagona markaziy brokerdan foydalanmaydi — har bir mintaqa mustaqil ishlaydi va global tarmoq orqali sinxronlanadi.

PubNub rasmiy saytiga (2025) ko'ra, platforma 200+ mamlakatda 70 000 dan ortiq ilovaga xizmat ko'rsatadi. Asosiy mijozlar orasida Logitech (IoT qurilmalarini boshqarish), GoPro (real-time video translyatsiyasi), eBay (auksionlarni sinxronlash) va Snapchat (chat va bildirishnomalar) bor.

PubNubning asosiy tamoyillari

PubNub uch tamoyilga asoslanadi: tezlik (bitta mintaqa ichida 95-persentilda 10 ms dan kam kechikish), ishonchlilik (avtomatik qayta urinish bilan at-least-once yetkazib berish kafolati) va masshtablash (kanallar sonida cheklovsiz gorizontal kengayish). Platforma xabarlarni uzoq muddatli saqlashda saqlamaydi — tarix alohida ulangan Storage & Playback xizmati orqali mavjud.

PubNub qanday ishlaydi

PubNub ish modeli klassik publish-subscribe naqshiga asoslanadi. Nashriyot mijozi publish kaliti bilan PubNub REST API orqali kanalni ko'rsatib xabar yuboradi. PubNub xabarni ushbu kanalning barcha obunachilariga ularning faol WebSocket ulanishlari orqali yetkazadi. Obunachilar xabarni PubNub SDKda ro'yxatdan o'tgan callback qayta ishlovchisi orqali oladi.

Transport qatlami PubNub asosiy protokol sifatida WebSocket-dan foydalanadi, cheklovli muhitlar uchun HTTP long-polling fallback bilan. SDK ulanishni avtomatik boshqaradi: o'rnatadi, heartbeat-ni saqlaydi (tarmoqqa qarab har 15–60 soniyada) va uzilishda qayta ulanadi.

PubNubdagi har bir xabar metama'lumotlarni o'z ichiga oladi: jo'natuvchining UUID-si, vaqt tamg'asi, tartib raqami (timetoken) va bayroqlar (store, replicate, eatAfterRead). Timetoken — vaqtga asoslangan noyob PubNub identifikatori bo'lib, kanaldagi xabarlarning global tartibini kafolatlaydi. PubNub hujjatlariga (2025) ko'ra, timetoken 10 nanosekund aniqlikka ega.

Xabar oqimi

Mijoz xabarni nashr qilganda, u Stream Controller — PubNub marshrutlash modulidan o'tadi. Stream Controller kirish huquqlarini (PAM) tekshiradi, transformatsiya qoidalarini (PubNub Functions) qo'llaydi, maqsadli mintaqalarni aniqlaydi va xabarni barcha obunachilarga yuboradi. Agar obunachi uzilgan bo'lsa, xabar 30 soniya (standart) buferlanadi.

PubNub kalitlari: publish, subscribe, secret

PubNub kalit tizimi kirish huquqlarini uch darajaga ajratadi: publish kaliti (faqat nashr), subscribe kaliti (faqat obuna) va secret kaliti (boshqaruv). Har bir ilova ro'yxatdan o'tishda uchta kalit to'plamini oladi, lekin secret kaliti hech qachon mijozga uzatilmaydi — faqat server tomonida ishlatiladi.

Publish kaliti kanallarga xabar yuborish uchun ishlatiladi. Subscribe kaliti — kanallarga obuna bo'lish va xabar olish uchun. Secret kaliti — PubNub Access Manager (PAM) orqali kirishni boshqarish, vaqtinchalik auditoriya tokenlarini yaratish va kalitlarni boshqarish uchun. Secret kaliti serverda xavfsiz saqlanadi va hech qachon mijozlarga oshkor etilmaydi.

PubNub bir nechta autentifikatsiya rejimini qo'llab-quvvatlaydi: IP manzili bo'yicha (serverlar uchun), maxfiy kalit bo'yicha (ma'muriy operatsiyalar uchun), vaqtinchalik tokenlar bo'yicha (mijozlar uchun). Vaqtinchalik tokenlar PAM orqali vaqt cheklovi, kanallar va huquqlar (read, write, manage) bilan beriladi.

PubNub kanallari

PubNub kanallari — xabarlar uchun nomlangan marshrutlardir. Kanal nomi 92 belgigacha uzunlikdagi qator bo'lib, lotin harflari, raqamlar, defislar va pastki chiziqlarni qo'llab-quvvatlaydi. Kanallar birinchi nashr yoki obuna paytida dinamik yaratiladi. PubNub subscribe so'rovida * belgisi orqali kanal shablonlarini qo'llab-quvvatlaydi — bu kanallar guruhiga obuna bo'lish imkonini beradi (masalan, user-*).

Channel Groups — ommaviy obuna uchun kanallarni guruhlash mexanizmi. 50 ta alohida kanalga obuna bo'lish o'rniga, mijoz bitta guruhga obuna bo'ladi va uning tarkibidagi kanallardan barcha xabarlar avtomatik yetkaziladi. Channel Groups ichki joylashuvni qo'llab-quvvatlaydi, lekin chuqurlik 3 darajadan oshmasligi kerak.

PubNub texnik hujjatlariga (2025) ko'ra, bitta kanalga maksimal obunachi soni 50 000. Yuqori yuklamalar uchun prefikslar bilan kanallardan foydalanish va auditoriyani shardlash tavsiya etiladi (masalan, chat-room-001, chat-room-002). Channel Groups shuningdek geografik yoki tematik printsip bo'yicha tashkil etilishi mumkin.

ParametrMaksimalIzoh
Kanal nomi uzunligi92 belgiLotin harflari, raqamlar, -, _
Kanaldagi obunachilar50 000Ko'proq — shardlash
Channel Groups2000 guruh / kalitGuruhda 500 kanalgacha
Tarix (storage)CheksizSaqlash hajmiga qarab to'lov

PubNubni loyihada qanday ishlatish

PubNub integratsiyasi ro'yxatdan o'tish, boshqaruv panelida ilova yaratish va kalitlar to'plamini olishni talab qiladi. PubNub kutubxonalari JavaScript, Swift, Kotlin, Java, Dart (Flutter), C#, Python, Ruby, Go va boshqa ko'plab tillar uchun mavjud. Brauzer va Node.js uchun JavaScript misolini ko'rib chiqaylik.

PubNub hujjatlariga (2025) ko'ra, pubnub-js kutubxonasi ham CommonJS, ham ES Module importini qo'llab-quvvatlaydi. Brauzer uchun npm orqali o'rnatish va keyin webpack yoki vite bilan bundle qilish tavsiya etiladi.

Kanalga obuna bo'lish

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

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

Xabarlar tarixini olish

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

PubNub Functions va Stream Controller

PubNub Functions — xabarlarni PubNub tomonida qayta ishlash uchun serverless platformadir. Funksiyalar JavaScript tilida yoziladi va xavfsiz izolyatsiya qilingan muhitda (V8 isolate) bajariladi. Ular xabarlarni obunachilarga yetkazilishidan oldin transformatsiya qilishi, filtrlashi, buferlashi va yo'naltirishi mumkin.

Stream Controller — qoidalar asosida xabarlar oqimini boshqaradigan o'rnatilgan marshrutlash mexanizmi. Qoidalar qaysi xabarlar yetkazilishini, qaysilari tashlab yuborilishini va qaysilari qayta ishlash uchun PubNub Functions-ga yo'naltirilishini aniqlaydi. Stream Controller xabar mazmuni, kanal turi yoki metama'lumotlar bo'yicha shartli marshrutlashni qo'llab-quvvatlaydi.

PubNub blogiga (2024) ko'ra, PubNub Functions xabarlarni qayta ishlash uchun server infratuzilmasi xarajatlarini 40–60% ga kamaytiradi, chunki filtrlash va transformatsiya mantig'i PubNubning chekka tugunlarida bajariladi, o'z serverda emas. Funksiyalar HTTP so'rovlariga, Key-Value saqlashga va bir xil fazodagi boshqa funksiyalarga kirish imkoniyatiga ega.

PubNub mobil ilovalarda

Mobil platformalar uchun PubNub SDK iOS (Swift), Android (Kotlin/Java), Flutter (Dart) va React Native (JavaScript) uchun mavjud. Mobil SDK-lar to'liq funksiyalar to'plamini qo'llab-quvvatlaydi: pub/sub, ishtirok, tarix, PAM va PubNub Functions. Push bildirishnomalari uchun PubNub maxsus mobile push gateway mexanizmi orqali APNs va FCM bilan integratsiyalanadi.

Mobil qurilmalar uchun optimallashtirish adaptiv heartbeat, xabarlarni partiyaviy qayta ishlash va fon rejimlarini qo'llab-quvvatlashni o'z ichiga oladi. iOS uchun PubNub SDK ilova minimallashtirilganda ulanishni saqlash uchun Background Task API-dan foydalanadi (standart fon vaqti 30 soniyagacha). Uzoqroq fon ishi uchun push bildirishnomalaridan foydalanish talab qilinadi.

Mobile Push Gateway — PubNub orqali push bildirishnomalarini yuborish mexanizmi. Xabar kanalda nashr qilinganda, PubNub avtomatik ravishda qaysi obunachilar oflayn ekanligini aniqlaydi va ularga APNs (iOS) yoki FCM (Android) orqali push bildirishnomasini yuboradi. Sozlash boshqaruv panelida bir marta amalga oshiriladi — shundan so'ng kanaldagi barcha xabarlar avtomatik ravishda push kanaliga takrorlanadi. PubNub hujjatlariga (2025) ko'ra, gateway sekundiga 10 000 tagacha push bildirishnomasini qayta ishlaydi.

Tez-tez so'raladigan savollar

PubNub Pusherdan qanday farq qiladi?

PubNub ko'proq SDK (75+ platforma), o'rnatilgan serverless funksiyalar va xabarlarni qayta ishlash uchun Stream Controller taklif qiladi. Pusher sozlashda soddaroq, ammo PubNub marshrutlash va ma'lumot transformatsiyasi ustida ko'proq nazorat beradi.

PubNub xabar yetkazib berishni qanday kafolatlaydi?

PubNub xatoliklarda avtomatik qayta urinish bilan at-least-once mexanizmidan foydalanadi. Har bir xabar deduplikatsiya uchun noyob timetoken-ga ega. Xabarlar oflayn obunachilar uchun 30 soniya buferlanadi.

PubNub qancha turadi?

Bepul reja 100 ta bir vaqtli ulanish va oyiga 1 million xabarni o'z ichiga oladi. Pulli rejalar oyiga $49 dan boshlanadi, 1000 ta bir vaqtli ulanish va cheksiz xabarlar soni uchun.

PubNub shifrlashni qo'llab-quvvatlaydimi?

Ha, PubNub barcha ulanishlar uchun TLS 1.3 ni va PAM orqali kalit boshqaruvi bilan mijoz tomonida end-to-end shifrlashni (AES-256) qo'llab-quvvatlaydi. Enterprise mijozlar uchun Cipher Key rejimi mavjud.

PubNub SDK qaysi tillarni qo'llab-quvvatlaydi?

PubNub 75+ platforma uchun SDK taqdim etadi, jumladan JavaScript, Swift, Kotlin, Java, Dart, C#, Python, Ruby, Go, C++, PHP, Rust va Objective-C. Bu real-time xizmatlar orasidagi eng katta ekotizimdir.

Xulosa

  • PubNub — 15+ ma'lumot markazi va 75+ platforma qo'llab-quvvatlashi bilan global real-time xabar almashish tarmog'i.
  • Kalit tizimi publish/subscribe/secret + PAM moslashuvchan kirish huquqini boshqarishni ta'minlaydi.
  • PubNub Functions o'z server infratuzilmasisiz serverless xabar qayta ishlashga imkon beradi.
  • Stream Controller tarmoqning chekka tugunlarida xabarlarni marshrutlash, filtrlash va transformatsiyasini boshqaradi.
  • Mobile Push Gateway oflayn obunachilar uchun APNs va FCM orqali avtomatik push yuboradi.
  • Kanallar 50 000 obunachigacha qo'llab-quvvatlaydi, Channel Groups esa ko'p kanallarni boshqarishni soddalashtiradi.
  • Keng platforma qo'llab-quvvatlashi va o'rnatilgan xabar qayta ishlash bilan loyihalar uchun PubNubni tanlang, sodda stsenariylar uchun Pusher yetarli.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing