Ably — bu nədir, real-time Pub/Sub platforması və necə işləyir

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

Ably — real-time mesajlaşma üçün bulud platforması, pub/sub kommunikasiyası, iştirakçılıq və vəziyyət sinxronizasiyası üçün infrastruktur təmin edir. Etibarlılıq və qlobal əlçatanlıq baxımından yüksək tələbləri olan enterprise layihələr üçün nəzərdə tutulub. Ably rəsmi sənədlərinə (2025) görə, platforma 99.999% uptime və 95-ci persentildə 65 ms-dən az çatdırılma gecikməsi təmin edir.

Əsas məqamlar

  • Ably — qlobal məlumat mərkəzləri şəbəkəsi ilə real-time kommunikasiya üçün enterprise platforması.
  • Pub/Sub modeli — WebSocket, Server-Sent Events və HTTP streaming vasitəsilə kanallara nəşr və abunə.
  • Çatdırılma zəmanətləri — kritik məlumatlar üçün at-least-once, exactly-once və last-value cache rejimlərinin dəstəyi.
  • İştirakçılıq və sinxronizasiya — kanalın onlayn iştirakçılarının izlənməsi və avtomatik vəziyyət sinxronizasiyası.
  • 20+ platforma üçün SDK — JavaScript, Swift, Kotlin, Flutter, React Native və server dilləri üçün hazır kliendlər.

Ably nədir?

Ably — 2014-cü ildə əsası qoyulmuş bulud əsaslı real-time platformadır, real-time mesaj mübadiləsi üçün infrastruktur təmin edir. Sadə pub xidmətlərindən fərqli olaraq, Ably korporativ çatdırılma zəmanətləri, qlobal iştirak nöqtələri (POP) şəbəkəsi və milyonlarla eyni vaxtda olan kliendlər üçün daxili vəziyyət sinxronizasiyası təklif edir.

Platforma çatdırılmanın etibarlılığının kritik olduğu layihələrdə istifadə olunur: maliyyə tickerləri, logistik izləmə sistemləri, tibbi monitorinq sistemləri və çoxoyunçulu oyunlar. Ably 15+ məlumat mərkəzindən ibarət qlobal şəbəkə vasitəsilə məlumatları replikasiya edən öz paylanmış mesaj broker texnologiyasına əsaslanır.

Ably rəsmi saytına (2025) görə, platforma 50 000+ aktiv tətbiq üçün ayda 200 milyarddan çox mesaj emal edir. Müştərilər arasında Fortune 500 siyahısından şirkətlər var: Toyota (avtomobil telematikası), HubSpot (CRM sinxronizasiyası), Designity (birgə redaktə).

Ably arxitekturası

Ably arxitekturası yüksək sürətli kanallar vasitəsilə birləşdirilmiş paylanmış mesaj brokerləri (routerlər) şəbəkəsi üzərində qurulub. Hər bir broker kanalların alt çoxluğuna xidmət edir və vəziyyəti Ably Protocol — minimal overhead üçün optimallaşdırılmış WebSocket üzərindən ikili protokol vasitəsilə replikasiya edir. Kliendlər DNS balanslaşdırması vasitəsilə ən yaxın brokerə qoşulur.

Ably-nin rəqiblərindən əsas fərqi — hər bir kanal üçün mesaj tarixçəsini saxlayan daxili global log (qlobal jurnal). Bu, yeni abunəçilərə təkcə yeni deyil, həm də əvvəlki mesajları (replay) almağa imkan verir ki, bu da audit və yenidən qoşulmadan sonra vəziyyətin bərpası üçün kritikdir.

Ably necə işləyir

Ably qarşılıqlı əlaqə modeli əlavə imkanlarla Publisher-Subscriber nümunəsinə əməl edir. Nəşr edən mesajı REST API və ya SDK vasitəsilə kanala göndərir. Mesaj kanalın qlobal paylanmış jurnalına daxil olur və aktiv bağlantıları vasitəsilə bütün abunəçilərə göndərilir.

Nəqliyyat səviyyəsi Ably bir neçə protokolu dəstəkləyir: WebSocket (əsas, ikili Ably Protocol ilə), Server-Sent Events (birtərəfli qəbul üçün), HTTP streaming (məhdudiyyətli mühitlər üçün) və MQTT (IoT cihazları üçün). Kliyent avtomatik olaraq ən az gecikmə ilə mövcud nəqliyyatı seçir.

Hər bir mesaj Ably tərəfindən validasiyadan keçir — API açar imzası, kanal kvotası, giriş hüquqları yoxlanılır. Validasiya kənar routerdə 1–5 ms ərzində baş verir, bundan sonra mesaj qlobal jurnala replikasiya olunur. Ably texniki bloguna (2024) görə, qitələrarası ötürmədə mesajların 95% üçün end-to-end gecikmə 65 ms-dən azdır.

Kanallar və abunəliklər

Ably kanalları — mesaj mübadiləsi üçün adlandırılmış mövzular. Hər bir kanalın qeyri-məhdud sayda abunəçisi ola bilər, lakin sabit performans üçün bir zona çərçivəsində hər kanala 10 000-dən çox olmamaq tövsiyə olunur. Kanallar birtərəfli (yalnız serverdən nəşr) və ya tam (kliendlər mesajları nəşr edir) ola bilər.

Ably kanalları və Pub/Sub modeli

Ably-də Pub/Sub modeli klassik nümunəni əlavə imkanlarla genişləndirir: abunəçilərin iştirakı (presence), mesaj tarixçəsi (history), kanal vəziyyəti (channel state) və ad məkanları (namespaces). Hər bir kanal kvotaları və giriş hüquqlarını müəyyən edən ad məkanına aiddir.

İştirak (Presence) — kanal iştirakçılarının avtomatik izlənməsi. Kanala abunə olan hər bir kliyent clientId, status (online, away, offline) və ixtiyari məlumatlarla presence map-də qeydiyyatdan keçir. Kliyent ayrıldıqda (timeout və ya açıq şəkildə) presence avtomatik yenilənir.

Mesaj tarixçəsi — hər bir kanal standart olaraq mesaj tarixçəsini saxlayır (pulsuz planda 2 dəqiqə və ya 100 mesaj). Ödənişli planlarda tarixçə 72 saata qədər artırıla bilər, ixtiyari retrospektiv giriş imkanı ilə. Tarixçə dəyişməzlik zəmanəti (append-only) ilə paylanmış jurnalda saxlanılır.

FunksiyaPulsuz planEnterprise plan
Eyni vaxtda bağlantılar10010 000+
Tarixçənin saxlanması2 dəqiqə / 100 mesaj72 saat
Çatdırılma zəmanətiAt-least-onceExactly-once
Regionlar1 regionBütün 15+ region
SLA99.9%99.999%

Ably çatdırılma zəmanətləri

Çatdırılma zəmanətləri — Ably-nin əksər real-time xidmətlərdən əsas fərqi. Platforma mesajın dərc edilməsi zamanı seçilən bir neçə çatdırılma rejimini dəstəkləyir. Rejim mesajın neçə dəfə çatdırılacağını və bağlantı xətalarının necə idarə olunacağını müəyyən edir.

At-least-once — mesaj ən azı bir dəfə çatdırılır, təkrarlar mümkündür. Rejim bildirişlər və təkrarların zərər vermədiyi qeyri-kritik məlumatlar üçün istifadə olunur. Exactly-once — mesaj kliyent və server tərəfində deduplikasiya hesabına ciddi şəkildə bir dəfə çatdırılır. Rejim maliyyə əməliyyatları və cihazların idarə edilməsi üçün məcburidir.

Last-value cache — xüsusi rejimdir, burada kanal hər bir adlandırılmış mesajın son dəyərini saxlayır. Yeni abunəçi növbəti hadisəni gözləmədən dərhal cari vəziyyəti alır. Bu, hər bir routerdə qlobal key-value store vasitəsilə həyata keçirilir. Ably sənədlərinə (2025) görə, last-value cache yenidən qoşulmadan sonra vəziyyətin bərpa müddətini 2–5 saniyədən 50–100 ms-ə endirir.

Layihədə Ably-dən necə istifadə etməli

Ably ilə işə başlamaq qeydiyyat, tətbiq yaratma və API açarı əldə etmə tələb edir. Kitabxanalar bütün əsas platformalar üçün mövcuddur. JavaScript SDK-dan istifadə edərək nəşr və abunə nümunəsinə baxaq. Kliyent API açarı ilə qoşulur, kanala abunə olur və hadisə idarəedicisi təyin edir.

Ably sənədlərinə (2025) görə, server və kliyent hissələri üçün müxtəlif API açarlarından minimal hüquqlarla (ən az imtiyaz prinsipi) istifadə etmək tövsiyə olunur. Server açarı istənilən kanallarda nəşr edə bilər, kliyent açarı — yalnız müəyyən ad məkanlarına abunə ola bilər.

Ably kanalına abunə

js
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('Alındı:', message.data);
});

channel.publish('update', {
    text: 'Hello from Ably',
    priority: 1
});

Serverdən nəşr

js
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('REST vasitəsilə dərc edilmiş mesaj');
});

Ably vs Pusher: müqayisə

Ably və Pusher arasında seçim layihənin tələblərindən asılıdır. Hər iki platforma hosted real-time infrastruktur təmin edir, lakin arxitektura, zəmanətlər və qiymətləndirmə baxımından fərqlənir. Ably etibarlılığa yüksək tələbləri olan enterprise üçün, Pusher — sürətli başlanğıc və sadəlik üçün nəzərdə tutulub.

Ably hər bir kanal üçün qlobal paylanmış jurnal istifadə edir ki, bu da exactly-once çatdırılma və tarixçəyə retrospektiv giriş təmin edir. Pusher at-least-once zəmanəti ilə broker arxitekturasından istifadə edir. Əksər tətbiqlər üçün fərq nəzərə çarpmır, lakin maliyyə və tibbi sistemlər üçün exactly-once kritikdir.

Ably vs Pusher müqayisə testinə (2024) görə, Ably daha çox məlumat mərkəzi sayəsində qitələrarası ötürmədə 20–30% daha az gecikmə göstərir. Pusher inteqrasiya sürətinə görə üstündür — əsas konfiqurasiya Ably üçün 20–30 dəqiqəyə qarşı 10–15 dəqiqə çəkir, çünki Ably-də daha çox konfiqurasiya variantı var.

Ably mobil inteqrasiyası

Mobil platformalar üçün Ably SDK iOS (Swift), Android (Kotlin/Java), Flutter və React Native dəstəkləyir. Mobil kliendlər Ably server hissəsi ilə tam uyğundur və bütün funksiyaları dəstəkləyir: pub/sub, presence, history, push bildirişləri. Android üçün push bildirişlərinin oflayn çatdırılması üçün Firebase Cloud Messaging ilə inteqrasiya mövcuddur.

Mobil şəbəkələr üçün optimallaşdırma — Ably SDK adaptiv heartbeat istifadə edir: Wi-Fi-da interval 15 saniyə, mobil şəbəkədə — trafikə qənaət üçün 60 saniyəyə qədər. Bağlantı itirildikdə SDK istifadəçi üçün görünməz gecikmə ilə ehtiyat nəqliyyata (HTTP streaming) keçir. Orta trafik istehlakı — gözləmə rejimində dəqiqədə 0.5–1 KB.

Push bildirişləri — Ably APNs (Apple) və FCM (Firebase) vasitəsilə push göndərilməsini dəstəkləyir. Push konkret kanala və ya clientId-ə yönəldilə bilər. Kliyent aktivdirsə (WebSocket qoşulub), mesaj kanal vasitəsilə çatdırılır. Kliyent ayrılıbsa, mesaj push bildirişi kimi çatdırılır. Bu, istifadəçinin heç vaxt vacib mesajı qaçırmamasını təmin edir.

Tez-tez verilən suallar

Ably Pusher-dən nə ilə fərqlənir?

Ably exactly-once çatdırılma, qlobal paylanmış jurnal və 99.999% SLA təklif edir. Pusher konfiqurasiyada daha sadədir, lakin yalnız at-least-once zəmanətləri təmin edir. Ably tez-tez etibarlılığa yüksək tələbləri olan enterprise layihələr tərəfindən seçilir.

Ably nə qədərdir?

Pulsuz plana 100 eyni vaxtda bağlantı və ayda 500 000 mesaj daxildir. Ödənişli planlar $19/ay (1000 bağlantı) dan başlayır. Fərdi zəmanətlərlə Enterprise tarifi fərdi qaydada müzakirə olunur.

Ably exactly-once çatdırılmanı dəstəkləyir?

Bəli, exactly-once — Ably-nin əsas funksiyalarından biridir. Deduplikasiya platforma tərəfindən unikal mesaj identifikatorlarından (message ID + connection ID) istifadə edərək həyata keçirilir.

Ably-nin neçə məlumat mərkəzi var?

Hal-hazırda Ably dünya üzrə 15+ iştirak nöqtəsinə malikdir, o cümlədən ABŞ, Avropa, Asiya, Avstraliya və Cənubi Amerika. Enterprise müştəriləri məlumat saxlama üçün konkret regionları seçə bilərlər.

Ably IoT üçün istifadə edilə bilərmi?

Bəli, Ably aşağı enerji istehlakı olan IoT cihazları üçün MQTT protokolunu dəstəkləyir. ESP32, Arduino və Raspberry Pi cihazları üçün minimal yaddaş istehlakı ilə yüngül SDK-lar mövcuddur.

Nəticə

  • Ably — 15+ məlumat mərkəzindən ibarət qlobal şəbəkə və 99.999% SLA ilə real-time mesajlaşma üçün enterprise platforması.
  • Pub/Sub modeli iştirak, mesaj tarixçəsi və dərhal vəziyyət bərpası üçün last-value cache ilə tamamlanır.
  • Exactly-once çatdırılma Ably-ni rəqiblərdən fərqləndirir və maliyyə və tibbi tətbiqlər üçün kritikdir.
  • Mobil SDK-lar APNs və FCM vasitəsilə push bildirişlərini, adaptiv heartbeat və avtomatik nəqliyyat fallbackini dəstəkləyir.
  • Arxitektura WebSocket üzərindən qlobal paylanmış jurnal və ikili Ably Protocol üzərində qurulub.
  • Enterprise funksiyaları fərdi SLA, VPC izolyasiyası və regional məlumat saxlama məhdudiyyətlərini əhatə edir.
  • Layihələr üçün exactly-once çatdırılma və qlobal əhatə tələbləri ilə Ably seçin, sadə ssenarilər üçün Pusher kifayətdir.

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