Ably एक क्लाउड रियल-टाइम मैसेजिंग प्लेटफ़ॉर्म है जो pub/sub संचार, उपस्थिति और स्थिति सिंक्रोनाइज़ेशन के लिए बुनियादी ढाँचा प्रदान करता है। यह विश्वसनीयता और वैश्विक पहुँच के उच्च मानकों वाली एंटरप्राइज़ परियोजनाओं के लिए डिज़ाइन किया गया है। आधिकारिक Ably दस्तावेज़ीकरण (2025) के अनुसार, प्लेटफ़ॉर्म 99.999% अपटाइम और 95वें पर्सेंटाइल में 65 ms से कम डिलीवरी विलंबता की गारंटी देता है।
मुख्य बातें
Ably एक क्लाउड रियल-टाइम प्लेटफ़ॉर्म है जिसकी स्थापना 2014 में हुई और यह रियल-टाइम मैसेजिंग के लिए बुनियादी ढाँचा प्रदान करता है। सरल pub-सेवाओं के विपरीत, Ably एंटरप्राइज़-ग्रेड डिलीवरी गारंटी, पॉइंट्स ऑफ़ प्रेज़ेंस (POP) का वैश्विक नेटवर्क और लाखों समवर्ती क्लाइंट के लिए अंतर्निहित स्थिति सिंक्रोनाइज़ेशन प्रदान करता है।
प्लेटफ़ॉर्म का उपयोग उन परियोजनाओं में किया जाता है जहाँ डिलीवरी विश्वसनीयता महत्वपूर्ण है: वित्तीय टिकर, लॉजिस्टिक्स ट्रैकर, चिकित्सा निगरानी प्रणाली और मल्टीप्लेयर गेम। Ably अपनी स्वयं की वितरित संदेश ब्रोकर तकनीक पर आधारित है, जो 15+ डेटा केंद्रों के वैश्विक नेटवर्क पर डेटा की प्रतिकृति बनाती है।
आधिकारिक Ably वेबसाइट (2025) के अनुसार, प्लेटफ़ॉर्म 50,000+ सक्रिय एप्लिकेशन के लिए प्रति माह 200 बिलियन से अधिक संदेशों को संसाधित करता है। ग्राहकों में Fortune 500 कंपनियाँ शामिल हैं: Toyota (ऑटोमोटिव टेलीमैटिक्स), HubSpot (CRM सिंक्रोनाइज़ेशन), Designity (सहयोगी संपादन)।
Ably आर्किटेक्चर उच्च-गति चैनलों के माध्यम से जुड़े संदेश ब्रोकरों (राउटर) के वितरित नेटवर्क पर बनाया गया है। प्रत्येक ब्रोकर चैनलों के एक उपसमूह की सेवा करता है और Ably प्रोटोकॉल — न्यूनतम ओवरहेड के लिए अनुकूलित WebSocket पर एक बाइनरी प्रोटोकॉल — का उपयोग करके स्थिति की प्रतिकृति बनाता है। क्लाइंट DNS लोड बैलेंसिंग के माध्यम से निकटतम ब्रोकर से जुड़ते हैं।
प्रतिस्पर्धियों से Ably का मुख्य अंतर अंतर्निहित ग्लोबल लॉग है, जो प्रत्येक चैनल के लिए संदेश इतिहास संग्रहीत करता है। यह नए सब्सक्राइबर को न केवल नए बल्कि पिछले संदेश भी प्राप्त करने की अनुमति देता है (रीप्ले), जो ऑडिट और पुनः कनेक्शन के बाद स्थिति पुनर्प्राप्ति के लिए महत्वपूर्ण है।
Ably इंटरैक्शन मॉडल अतिरिक्त क्षमताओं के साथ प्रकाशक-सब्सक्राइबर पैटर्न का अनुसरण करता है। प्रकाशक Ably REST API या SDK के माध्यम से एक चैनल पर संदेश भेजता है। संदेश चैनल के वैश्विक वितरित लॉग में प्रवेश करता है और सभी सब्सक्राइबर को उनके सक्रिय कनेक्शन के माध्यम से वितरित किया जाता है।
ट्रांसपोर्ट लेयर — Ably कई प्रोटोकॉल का समर्थन करता है: WebSocket (प्राथमिक, बाइनरी Ably प्रोटोकॉल के साथ), Server-Sent Events (एक-तरफ़ा प्राप्ति के लिए), HTTP streaming (सीमित वातावरण के लिए), और MQTT (IoT उपकरणों के लिए)। क्लाइंट स्वचालित रूप से सबसे कम विलंबता वाले उपलब्ध ट्रांसपोर्ट का चयन करता है।
प्रत्येक संदेश Ably की ओर से मान्यता से गुज़रता है — API कुंजी हस्ताक्षर सत्यापन, चैनल कोटा जाँच, पहुँच अधिकार। मान्यता एज राउटर पर 1–5 ms में होती है, जिसके बाद संदेश वैश्विक लॉग में प्रतिकृति बनाया जाता है। Ably तकनीकी ब्लॉग (2024) के अनुसार, अंतर-महाद्वीपीय ट्रांसमिशन के दौरान 95% संदेशों के लिए एंड-टू-एंड विलंबता 65 ms से कम है।
Ably चैनल संदेश आदान-प्रदान के लिए नामित विषय हैं। प्रत्येक चैनल में असीमित संख्या में सब्सक्राइबर हो सकते हैं, लेकिन स्थिर प्रदर्शन के लिए एक ज़ोन के भीतर प्रति चैनल 10,000 से अधिक न रखने की अनुशंसा की जाती है। चैनल एक-तरफ़ा (केवल सर्वर से प्रकाशन) या पूर्ण-द्वैध (क्लाइंट संदेश प्रकाशित करते हैं) हो सकते हैं।
Ably में Pub/Sub मॉडल अतिरिक्त क्षमताओं के साथ क्लासिक पैटर्न का विस्तार करता है: सब्सक्राइबर उपस्थिति, संदेश इतिहास, चैनल स्थिति और नेमस्पेस। प्रत्येक चैनल एक नेमस्पेस से संबंधित होता है जो कोटा और पहुँच अधिकार निर्धारित करता है।
उपस्थिति (Presence) — चैनल प्रतिभागियों का स्वचालित ट्रैकिंग। चैनल की सब्सक्रिप्शन लेने वाला प्रत्येक क्लाइंट clientId, स्थिति (ऑनलाइन, दूर, ऑफ़लाइन) और मनमाने डेटा के साथ उपस्थिति मैप में पंजीकृत होता है। जब कोई क्लाइंट डिस्कनेक्ट होता है (टाइमआउट या स्पष्ट रूप से), उपस्थिति स्वचालित रूप से अपडेट होती है।
संदेश इतिहास — प्रत्येक चैनल डिफ़ॉल्ट रूप से संदेश इतिहास संग्रहीत करता है (मुफ़्त योजना पर 2 मिनट या 100 संदेश तक)। सशुल्क योजनाओं पर, इतिहास को मनमाने पूर्वव्यापी पहुँच के साथ 72 घंटे तक बढ़ाया जा सकता है। इतिहास एक वितरित लॉग में अपरिवर्तनीयता गारंटी (केवल-जोड़ें) के साथ संग्रहीत किया जाता है।
| सुविधा | मुफ़्त योजना | एंटरप्राइज़ योजना |
|---|---|---|
| समवर्ती कनेक्शन | 100 | 10,000+ |
| इतिहास प्रतिधारण | 2 मिनट / 100 संदेश | 72 घंटे |
| डिलीवरी गारंटी | At-least-once | Exactly-once |
| क्षेत्र | 1 क्षेत्र | सभी 15+ क्षेत्र |
| SLA | 99.9% | 99.999% |
डिलीवरी गारंटी — Ably का अधिकांश रियल-टाइम सेवाओं से मुख्य अंतर। प्लेटफ़ॉर्म कई डिलीवरी मोड का समर्थन करता है, जो संदेश प्रकाशित करते समय चुने जा सकते हैं। मोड यह निर्धारित करता है कि संदेश कितनी बार वितरित किया जाएगा और कनेक्शन विफलताओं को कैसे संभाला जाता है।
At-least-once — संदेश कम से कम एक बार वितरित किया जाता है, डुप्लिकेट संभव हैं। इस मोड का उपयोग सूचनाओं और गैर-महत्वपूर्ण डेटा के लिए किया जाता है जहाँ डुप्लिकेट हानि नहीं पहुँचाते। Exactly-once — क्लाइंट और सर्वर साइड पर डिडुप्लिकेशन के माध्यम से संदेश ठीक एक बार वितरित किया जाता है। यह मोड वित्तीय लेनदेन और डिवाइस प्रबंधन के लिए अनिवार्य है।
Last-value cache — एक विशेष मोड जहाँ चैनल प्रत्येक नामित संदेश का अंतिम मान संग्रहीत करता है। नया सब्सक्राइबर अगली घटना की प्रतीक्षा किए बिना तुरंत वर्तमान स्थिति प्राप्त करता है। यह प्रत्येक राउटर पर वैश्विक key-value स्टोर के माध्यम से कार्यान्वित किया जाता है। Ably दस्तावेज़ीकरण (2025) के अनुसार, last-value cache पुनः कनेक्शन के बाद स्थिति पुनर्प्राप्ति समय को 2–5 सेकंड से घटाकर 50–100 ms कर देता है।
Ably के साथ शुरुआत करने के लिए पंजीकरण, एक एप्लिकेशन बनाना और API कुंजी प्राप्त करना आवश्यक है। लाइब्रेरी सभी प्रमुख प्लेटफ़ॉर्म के लिए उपलब्ध हैं। आइए JavaScript SDK का उपयोग करके प्रकाशन और सब्सक्रिप्शन का एक उदाहरण देखें। क्लाइंट API कुंजी से कनेक्ट होता है, एक चैनल की सब्सक्रिप्शन लेता है, और एक ईवेंट हैंडलर संलग्न करता है।
Ably दस्तावेज़ीकरण (2025) के अनुसार, न्यूनतम अनुमतियों (न्यूनतम विशेषाधिकार सिद्धांत) के साथ सर्वर और क्लाइंट भाग के लिए अलग-अलग API कुंजियों का उपयोग करने की अनुशंसा की जाती है। सर्वर कुंजी किसी भी चैनल पर प्रकाशित कर सकती है, जबकि क्लाइंट कुंजी केवल विशिष्ट नेमस्पेस की सब्सक्रिप्शन ले सकती है।
import * as Ably from 'ably';
const client = new Ably.Realtime({
key: 'YOUR_API_KEY',
clientId: 'user-123'
});
const channel = client.channels.get('test-channel');
channel.subscribe('update', (message) => {
console.log('Received:', message.data);
});
channel.publish('update', {
text: 'Hello from Ably',
priority: 1
});
const Ably = require('ably');
const rest = new Ably.Rest({ key: 'SERVER_API_KEY' });
const channel = rest.channels.get('test-channel');
channel.publish('server-event', {
type: 'notification',
payload: { userId: 100, text: 'Server message' }
}).then(() => {
console.log('Message published via REST');
});
Ably और Pusher के बीच चुनाव परियोजना की आवश्यकताओं पर निर्भर करता है। दोनों प्लेटफ़ॉर्म होस्टेड रियल-टाइम बुनियादी ढाँचा प्रदान करते हैं, लेकिन आर्किटेक्चर, गारंटी और मूल्य निर्धारण में भिन्न हैं। Ably उच्च विश्वसनीयता आवश्यकताओं वाले एंटरप्राइज़ पर केंद्रित है, जबकि Pusher त्वरित शुरुआत और सरलता पर केंद्रित है।
Ably प्रत्येक चैनल के लिए वैश्विक वितरित लॉग का उपयोग करता है, जो exactly-once डिलीवरी और इतिहास तक पूर्वव्यापी पहुँच सुनिश्चित करता है। Pusher at-least-once गारंटी के साथ ब्रोकर आर्किटेक्चर का उपयोग करता है। अधिकांश एप्लिकेशन के लिए, अंतर अदृश्य है, लेकिन वित्तीय और चिकित्सा प्रणालियों के लिए, exactly-once महत्वपूर्ण है।
Ably बनाम Pusher तुलनात्मक परीक्षण (2024) के अनुसार, Ably अधिक डेटा केंद्रों के कारण अंतर-महाद्वीपीय ट्रांसमिशन के लिए 20–30% कम विलंबता प्रदर्शित करता है। Pusher एकीकरण गति में बेहतर है — मूल सेटअप में 10–15 मिनट लगते हैं जबकि Ably के लिए अधिक कॉन्फ़िगरेशन विकल्पों के कारण 20–30 मिनट लगते हैं।
मोबाइल प्लेटफ़ॉर्म के लिए Ably SDK iOS (Swift), Android (Kotlin/Java), Flutter और React Native का समर्थन करता है। मोबाइल क्लाइंट Ably सर्वर साइड के साथ पूरी तरह से संगत हैं और सभी सुविधाओं का समर्थन करते हैं: pub/sub, उपस्थिति, इतिहास, पुश सूचनाएँ। Android के लिए, ऑफ़लाइन पुश नोटिफिकेशन डिलीवरी के लिए Firebase Cloud Messaging के साथ एकीकरण उपलब्ध है।
मोबाइल नेटवर्क के लिए अनुकूलन — Ably SDK अनुकूली हार्टबीट का उपयोग करता है: Wi-Fi पर अंतराल 15 सेकंड, मोबाइल नेटवर्क पर ट्रैफ़िक बचाने के लिए 60 सेकंड तक। कनेक्शन खोने पर, SDK उपयोगकर्ता को दिखाई देने वाली देरी के बिना बैकअप ट्रांसपोर्ट (HTTP streaming) पर स्विच करता है। स्टैंडबाय मोड में औसत ट्रैफ़िक खपत 0.5–1 KB प्रति मिनट है।
पुश सूचनाएँ — Ably APNs (Apple) और FCM (Firebase) के माध्यम से पुश भेजने का समर्थन करता है। पुश को किसी विशिष्ट चैनल या clientId पर निर्देशित किया जा सकता है। यदि क्लाइंट सक्रिय है (WebSocket जुड़ा हुआ), तो संदेश चैनल के माध्यम से वितरित किया जाता है। यदि क्लाइंट डिस्कनेक्ट है, तो संदेश पुश नोटिफिकेशन के रूप में वितरित किया जाता है। यह सुनिश्चित करता है कि उपयोगकर्ता कभी भी कोई महत्वपूर्ण संदेश न चूके।
अक्सर पूछे जाने वाले प्रश्न
Ably exactly-once डिलीवरी, वैश्विक वितरित लॉग और 99.999% SLA प्रदान करता है। Pusher सेटअप में सरल है लेकिन केवल at-least-once गारंटी प्रदान करता है। Ably को अक्सर उच्च विश्वसनीयता आवश्यकताओं वाली एंटरप्राइज़ परियोजनाओं द्वारा चुना जाता है।
मुफ़्त योजना में 100 समवर्ती कनेक्शन और प्रति माह 500,000 संदेश शामिल हैं। सशुल्क योजनाएँ $19/माह (1000 कनेक्शन) से शुरू होती हैं। कस्टम गारंटी वाली एंटरप्राइज़ मूल्य निर्धारण व्यक्तिगत रूप से चर्चा की जाती है।
हाँ, exactly-once Ably की मुख्य विशेषताओं में से एक है। डिडुप्लिकेशन अद्वितीय संदेश पहचानकर्ताओं (message ID + connection ID) का उपयोग करके प्लेटफ़ॉर्म की ओर से किया जाता है।
वर्तमान में, Ably के दुनिया भर में 15+ उपस्थिति बिंदु हैं, जिनमें अमेरिका, यूरोप, एशिया, ऑस्ट्रेलिया और दक्षिण अमेरिका शामिल हैं। एंटरप्राइज़ ग्राहक डेटा संग्रहण के लिए विशिष्ट क्षेत्र चुन सकते हैं।
हाँ, Ably कम बिजली खपत वाले IoT उपकरणों के लिए MQTT प्रोटोकॉल का समर्थन करता है। ESP32, Arduino और Raspberry Pi पर चलने वाले उपकरणों के लिए न्यूनतम मेमोरी उपयोग वाले हल्के SDK उपलब्ध हैं।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें