PubNub रियल-टाइम मैसेजिंग के लिए एक वैश्विक नेटवर्क है जो न्यूनतम विलंबता के साथ WebSocket के माध्यम से संदेशों को प्रकाशित और सब्सक्राइब करने के लिए बुनियादी ढाँचा प्रदान करता है। यह उच्च लोड और अस्थिर कनेक्शन के तहत विश्वसनीय डेटा डिलीवरी की आवश्यकता वाले एप्लिकेशन के लिए डिज़ाइन किया गया है। आधिकारिक PubNub दस्तावेज़ीकरण (2025) के अनुसार, प्लेटफ़ॉर्म दुनिया भर में 70,000+ एप्लिकेशन के लिए मासिक रूप से 1 ट्रिलियन संदेश से अधिक संसाधित करता है।
मुख्य बिंदु
PubNub 2010 में स्थापित एक वैश्विक रियल-टाइम डेटा नेटवर्क है। यह संदेशों को प्रकाशित करने और सब्सक्राइब करने के लिए API प्रदान करता है, साथ ही अतिरिक्त सेवाएँ: इतिहास भंडारण, उपस्थिति प्रबंधन, सर्वरलेस फ़ंक्शन (PubNub Functions) और डेटा स्ट्रीम एनालिटिक्स।
PubNub की आर्किटेक्चर 15+ भौगोलिक क्षेत्रों में स्थित उपस्थिति बिंदुओं के वितरित नेटवर्क (POP) पर आधारित है। प्रत्येक बिंदु में कैशिंग ब्रोकर होते हैं जो न्यूनतम विलंबता के साथ प्रकाशकों और सब्सक्राइबर्स के बीच संदेशों को रूट करते हैं। PubNub एक केंद्रीय ब्रोकर का उपयोग नहीं करता है — प्रत्येक क्षेत्र स्वतंत्र रूप से संचालित होता है और वैश्विक नेटवर्क के माध्यम से सिंक्रोनाइज़ होता है।
आधिकारिक PubNub वेबसाइट (2025) के अनुसार, प्लेटफ़ॉर्म 200+ देशों में 70,000 से अधिक एप्लिकेशन की सेवा करता है। प्रमुख ग्राहकों में Logitech (IoT डिवाइस प्रबंधन), GoPro (रियल-टाइम वीडियो स्ट्रीमिंग), eBay (नीलामी सिंक्रोनाइज़ेशन) और Snapchat (चैट और सूचनाएँ) शामिल हैं।
PubNub तीन सिद्धांतों पर बनाया गया है: गति (एक क्षेत्र के भीतर 95वें प्रतिशतक में 10 ms से कम विलंबता), विश्वसनीयता (स्वचालित पुनर्प्रयास के साथ at-least-once डिलीवरी गारंटी) और स्केलेबिलिटी (चैनलों की संख्या पर बिना सीमा के क्षैतिज विस्तार)। प्लेटफ़ॉर्म संदेशों को दीर्घकालिक भंडारण में संग्रहीत नहीं करता है — इतिहास अलग से जुड़ी Storage & Playback सेवा के माध्यम से उपलब्ध है।
PubNub का संचालन मॉडल क्लासिक पब्लिश-सब्सक्राइब पैटर्न पर आधारित है। प्रकाशक क्लाइंट publish कुंजी के साथ PubNub REST API के माध्यम से चैनल निर्दिष्ट करते हुए एक संदेश भेजता है। PubNub उस चैनल के सभी सब्सक्राइबर्स को उनके सक्रिय WebSocket कनेक्शन के माध्यम से संदेश पहुँचाता है। सब्सक्राइबर्स PubNub SDK में पंजीकृत कॉलबैक हैंडलर के माध्यम से संदेश प्राप्त करते हैं।
PubNub की ट्रांसपोर्ट परत मुख्य प्रोटोकॉल के रूप में WebSocket का उपयोग करती है, जिसमें सीमाओं वाले वातावरण के लिए HTTP long-polling पर फ़ॉलबैक है। SDK स्वचालित रूप से कनेक्शन प्रबंधित करता है: स्थापित करना, हार्टबीट बनाए रखना (नेटवर्क के आधार पर हर 15–60 सेकंड) और डिस्कनेक्ट होने पर पुनः कनेक्ट करना।
PubNub में प्रत्येक संदेश में मेटाडेटा होता है: प्रेषक UUID, टाइमस्टैम्प, अनुक्रम संख्या (timetoken) और फ़्लैग (store, replicate, eatAfterRead)। Timetoken समय-आधारित एक अद्वितीय PubNub पहचानकर्ता है जो चैनल के भीतर संदेशों के वैश्विक क्रम की गारंटी देता है। PubNub दस्तावेज़ीकरण (2025) के अनुसार, timetoken का रिज़ॉल्यूशन 10 नैनोसेकंड है।
जब कोई क्लाइंट संदेश प्रकाशित करता है, तो यह Stream Controller — PubNub के रूटिंग मॉड्यूल — से गुज़रता है। Stream Controller एक्सेस अधिकार (PAM) की जाँच करता है, ट्रांसफ़ॉर्मेशन नियम (PubNub Functions) लागू करता है, लक्ष्य क्षेत्र निर्धारित करता है और सभी सब्सक्राइबर्स को संदेश भेजता है। यदि कोई सब्सक्राइबर ऑफ़लाइन है, तो संदेश कनेक्शन पुनर्प्राप्ति की प्रतीक्षा में 30 सेकंड (डिफ़ॉल्ट) के लिए बफ़र किया जाता है।
PubNub की कुंजी प्रणाली एक्सेस अधिकारों को तीन स्तरों में अलग करती है: publish कुंजी (केवल प्रकाशन), subscribe कुंजी (केवल सब्सक्रिप्शन) और secret कुंजी (प्रशासन)। प्रत्येक एप्लिकेशन को पंजीकरण पर तीन कुंजियों का एक सेट मिलता है, लेकिन secret कुंजी कभी भी क्लाइंट को प्रेषित नहीं की जाती — इसका उपयोग केवल सर्वर पक्ष पर किया जाता है।
Publish कुंजी का उपयोग चैनलों पर संदेश भेजने के लिए किया जाता है। Subscribe कुंजी का उपयोग चैनलों की सदस्यता लेने और संदेश प्राप्त करने के लिए किया जाता है। Secret कुंजी का उपयोग PubNub Access Manager (PAM) के माध्यम से एक्सेस प्रबंधन, अस्थायी ऑडियंस टोकन बनाने और कुंजी प्रबंधन के लिए किया जाता है। Secret कुंजी सर्वर पर सुरक्षित रखी जाती है और कभी भी क्लाइंट को प्रकट नहीं की जाती।
PubNub कई प्रमाणीकरण मोड का समर्थन करता है: IP पते द्वारा (सर्वर के लिए), secret कुंजी द्वारा (प्रशासनिक संचालन के लिए), अस्थायी टोकन द्वारा (क्लाइंट के लिए)। अस्थायी टोकन PAM के माध्यम से समाप्ति समय, चैनल और अनुमतियों (read, write, manage) पर प्रतिबंधों के साथ जारी किए जाते हैं।
PubNub चैनल संदेशों के लिए नामित मार्ग हैं। चैनल का नाम 92 वर्णों तक की एक स्ट्रिंग है, जो लैटिन अक्षरों, अंकों, हाइफ़न और अंडरस्कोर का समर्थन करता है। चैनल पहले प्रकाशन या सब्सक्रिप्शन पर गतिशील रूप से बनाए जाते हैं। PubNub सब्सक्राइब अनुरोध में * वर्ण के माध्यम से चैनल पैटर्न का समर्थन करता है — यह चैनलों के समूह (जैसे, user-*) की सदस्यता लेने की अनुमति देता है।
Channel Groups सामूहिक सब्सक्रिप्शन के लिए चैनलों को समूहीकृत करने की एक प्रणाली है। 50 अलग-अलग चैनलों की सदस्यता लेने के बजाय, क्लाइंट एक समूह की सदस्यता लेता है, और उसमें शामिल चैनलों के सभी संदेश स्वचालित रूप से क्लाइंट को पहुँचाए जाते हैं। Channel Groups नेस्टिंग का समर्थन करते हैं, लेकिन गहराई 3 स्तरों से अधिक नहीं होनी चाहिए।
PubNub तकनीकी दस्तावेज़ीकरण (2025) के अनुसार, प्रति चैनल अधिकतम सब्सक्राइबर संख्या 50,000 है। उच्च लोड के लिए, उपसर्गों वाले चैनलों का उपयोग करने और दर्शकों को शार्ड करने की अनुशंसा की जाती है (जैसे, chat-room-001, chat-room-002)। Channel Groups को भौगोलिक या विषयगत सिद्धांतों द्वारा भी व्यवस्थित किया जा सकता है।
| पैरामीटर | अधिकतम | नोट |
|---|---|---|
| चैनल नाम की लंबाई | 92 वर्ण | लैटिन अक्षर, अंक, -, _ |
| प्रति चैनल सब्सक्राइबर | 50,000 | अधिक — शार्ड करें |
| Channel Groups | 2000 समूह / कुंजी | प्रति समूह 500 चैनल तक |
| इतिहास (भंडारण) | असीमित | भंडारण मात्रा के अनुसार भुगतान |
PubNub एकीकरण के लिए पंजीकरण, एडमिन पैनल में एप्लिकेशन बनाना और कुंजियों का सेट प्राप्त करना आवश्यक है। PubNub लाइब्रेरीज़ JavaScript, Swift, Kotlin, Java, Dart (Flutter), C#, Python, Ruby, Go और कई अन्य भाषाओं के लिए उपलब्ध हैं। आइए ब्राउज़र और Node.js के लिए JavaScript में एक उदाहरण देखें।
PubNub दस्तावेज़ीकरण (2025) के अनुसार, pubnub-js लाइब्रेरी CommonJS और ES Module दोनों आयात का समर्थन करती है। ब्राउज़र के लिए, npm बिल्ड के बाद webpack या Vite के माध्यम से बंडलिंग का उपयोग करने की अनुशंसा की जाती है।
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('नया संदेश:', event.message);
},
presence: (event) => {
console.log('उपस्थिति:', event.uuid, event.action);
}
});
pubnub.publish({
channel: 'chat-general',
message: { text: 'Hello everyone!', sender: 'user-100' }
});
pubnub.fetchMessages(
{ channels: ['chat-general'], count: 50 },
(status, response) => {
if (status.error) {
console.error('इतिहास लाने में त्रुटि', status);
return;
}
const messages = response.channels['chat-general'];
messages.forEach((msg) => {
console.log(msg.message, msg.timetoken);
});
}
);
PubNub Functions PubNub पक्ष पर संदेशों को संसाधित करने के लिए एक सर्वरलेस प्लेटफ़ॉर्म है। फ़ंक्शन JavaScript में लिखे जाते हैं और एक सुरक्षित पृथक वातावरण (V8 isolate) में निष्पादित होते हैं। वे संदेशों को सब्सक्राइबर्स तक पहुँचाने से पहले ट्रांसफ़ॉर्म, फ़िल्टर, बफ़र और पुनर्निर्देशित कर सकते हैं।
Stream Controller एक अंतर्निहित रूटिंग तंत्र है जो नियमों के आधार पर संदेश प्रवाह का प्रबंधन करता है। नियम निर्धारित करते हैं कि कौन से संदेश वितरित किए जाते हैं, कौन से छोड़ दिए जाते हैं, और कौन से प्रसंस्करण के लिए PubNub Functions को भेजे जाते हैं। Stream Controller संदेश सामग्री, चैनल प्रकार या मेटाडेटा द्वारा सशर्त रूटिंग का समर्थन करता है।
PubNub ब्लॉग (2024) के अनुसार, PubNub Functions फ़िल्टरिंग और ट्रांसफ़ॉर्मेशन लॉजिक को अपने सर्वर के बजाय PubNub एज नोड्स पर ऑफ़लोड करके संदेश प्रसंस्करण के लिए सर्वर बुनियादी ढाँचे की लागत को 40–60% तक कम करते हैं। फ़ंक्शन के पास HTTP अनुरोधों, Key-Value स्टोरेज और उसी स्पेस में अन्य फ़ंक्शन तक पहुँच है।
मोबाइल प्लेटफ़ॉर्म के लिए PubNub SDK iOS (Swift), Android (Kotlin/Java), Flutter (Dart) और React Native (JavaScript) के लिए उपलब्ध है। मोबाइल SDK सुविधाओं की पूरी श्रृंखला का समर्थन करते हैं: pub/sub, उपस्थिति, इतिहास, PAM और PubNub Functions। पुश सूचनाओं के लिए, PubNub एक विशेष मोबाइल पुश गेटवे तंत्र के माध्यम से APNs और FCM के साथ एकीकृत होता है।
मोबाइल उपकरणों के लिए अनुकूलन में अनुकूली हार्टबीट, बैच संदेश प्रसंस्करण और पृष्ठभूमि मोड का समर्थन शामिल है। iOS के लिए PubNub SDK एप्लिकेशन के छोटा होने पर कनेक्शन बनाए रखने के लिए Background Task API का उपयोग करता है (मानक पृष्ठभूमि समय के 30 सेकंड तक)। लंबे समय तक पृष्ठभूमि संचालन के लिए पुश सूचनाओं की आवश्यकता होती है।
Mobile Push Gateway PubNub के माध्यम से पुश सूचनाएँ भेजने की एक प्रणाली है। जब कोई संदेश किसी चैनल पर प्रकाशित होता है, तो PubNub स्वचालित रूप से निर्धारित करता है कि कौन से सब्सक्राइबर ऑफ़लाइन हैं और उन्हें APNs (iOS) या FCM (Android) के माध्यम से पुश सूचना भेजता है। कॉन्फ़िगरेशन एडमिन पैनल में एक बार किया जाता है — उसके बाद, चैनल के सभी संदेश स्वचालित रूप से पुश चैनल पर डुप्लिकेट हो जाते हैं। PubNub दस्तावेज़ीकरण (2025) के अनुसार, गेटवे प्रति सेकंड 10,000 पुश सूचनाओं तक संसाधित करता है।
अक्सर पूछे जाने वाले प्रश्न
PubNub अधिक SDK (75+ प्लेटफ़ॉर्म), अंतर्निहित सर्वरलेस फ़ंक्शन और संदेश प्रसंस्करण के लिए Stream Controller प्रदान करता है। Pusher सेट अप करने में आसान है, लेकिन PubNub रूटिंग और डेटा ट्रांसफ़ॉर्मेशन पर अधिक नियंत्रण देता है।
PubNub विफलता पर स्वचालित पुनर्प्रयास के साथ at-least-once तंत्र का उपयोग करता है। प्रत्येक संदेश में डिडुप्लिकेशन के लिए एक अद्वितीय timetoken होता है। ऑफ़लाइन सब्सक्राइबर्स के लिए संदेश 30 सेकंड के लिए बफ़र किए जाते हैं।
मुफ़्त योजना में 100 एक साथ कनेक्शन और प्रति माह 1 मिलियन संदेश शामिल हैं। सशुल्क योजनाएँ असीमित संदेशों के साथ 1000 एक साथ कनेक्शन के लिए $49/माह से शुरू होती हैं।
हाँ, PubNub सभी कनेक्शनों के लिए TLS 1.3 और PAM के माध्यम से कुंजी प्रबंधन के साथ वैकल्पिक एंड-टू-एंड क्लाइंट-साइड एन्क्रिप्शन (AES-256) का समर्थन करता है। एंटरप्राइज़ ग्राहकों के लिए Cipher Key मोड उपलब्ध है।
PubNub 75+ प्लेटफ़ॉर्म के लिए SDK प्रदान करता है, जिसमें JavaScript, Swift, Kotlin, Java, Dart, C#, Python, Ruby, Go, C++, PHP, Rust और Objective-C शामिल हैं। यह रियल-टाइम सेवाओं के बीच सबसे बड़ा इकोसिस्टम है।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें