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 ماڈل اضافی صلاحیتوں کے ساتھ کلاسک پیٹرن کو وسعت دیتا ہے: سبسکرائبر موجودگی، پیغام کی تاریخ، چینل اسٹیٹ اور نام کی جگہیں۔ ہر چینل ایک نام کی جگہ سے تعلق رکھتا ہے جو کوٹہ اور رسائی کے حقوق کی وضاحت کرتا ہے۔
موجودگی — چینل کے شرکاء کا خودکار ٹریکنگ۔ چینل کو سبسکرائب کرنے والا ہر کلائنٹ 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 ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں