Az Ably — egy felhőalapú valós idejű üzenetküldő platform, amely infrastruktúrát biztosít a pub/sub kommunikációhoz, jelenléthez és állapotszinkronizáláshoz. Nagy megbízhatósági és globális elérhetőségi követelményekkel rendelkező enterprise projektekhez tervezték. Az Ably hivatalos dokumentációja (2025) szerint a platform 99,999% rendelkezésre állást és 65 ms alatti kézbesítési késleltetést garantál a 95. percentilisben.
Főbb pontok
Az Ably — egy 2014-ben alapított felhőalapú valós idejű platform, amely infrastruktúrát biztosít a valós idejű üzenetváltáshoz. Az egyszerű pub szolgáltatásokkal ellentétben az Ably vállalati kézbesítési garanciákat, globális jelenléti pontok (POP) hálózatát és beépített állapotszinkronizálást kínál több millió egyidejű kliens számára.
A platform olyan projektekben használatos, ahol a kézbesítés megbízhatósága kritikus: pénzügyi tickerek, logisztikai követők, orvosi megfigyelő rendszerek és többjátékos játékok. Az Ably saját elosztott üzenetközvetítő technológián alapul, amely 15+ adatközpontból álló globális hálózaton keresztül replikálja az adatokat.
Az Ably hivatalos weboldala (2025) szerint a platform havonta több mint 200 milliárd üzenetet dolgoz fel 50 000+ aktív alkalmazás számára. Az ügyfelek között Fortune 500-as listán szereplő cégek találhatók: Toyota (autóipari telematika), HubSpot (CRM szinkronizálás), Designity (közös szerkesztés).
Az Ably architektúrája nagy sebességű csatornákkal összekötött elosztott üzenetközvetítők (routerek) hálózatára épül. Minden közvetítő a csatornák egy részhalmazát szolgálja ki, és az állapotot az Ably Protokollon keresztül replikálja — ez egy bináris protokoll WebSocket felett, minimális többletterhelésre optimalizálva. A kliensek DNS-terheléselosztáson keresztül csatlakoznak a legközelebbi közvetítőhöz.
Az Ably legfontosabb különbsége a versenytársakhoz képest a beépített globális napló (global log), amely minden csatorna üzenettörténetét tárolja. Ez lehetővé teszi az új feliratkozók számára, hogy ne csak új, hanem korábbi üzeneteket is kapjanak (replay), ami kritikus fontosságú az auditálás és az újracsatlakozás utáni állapot helyreállítása szempontjából.
Az Ably interakciós modellje a Publisher-Subscriber mintát követi további képességekkel. A kiadó üzenetet küld egy csatornába az Ably REST API-ján vagy SDK-ján keresztül. Az üzenet bekerül a csatorna globális elosztott naplójába, és az összes feliratkozónak elküldésre kerül az aktív kapcsolataikon keresztül.
Az Ably szállítási rétege több protokollt támogat: WebSocket (elsődleges, bináris Ably Protokollal), Server-Sent Events (egyirányú vételhez), HTTP streaming (korlátozott környezetekhez) és MQTT (IoT-eszközökhöz). A kliens automatikusan kiválasztja a legkisebb késleltetésű elérhető szállítási módot.
Minden üzenet validáción megy keresztül az Ably oldalán — API-kulcs aláírásának, csatornakvótának, hozzáférési jogoknak az ellenőrzése. A validáció 1–5 ms alatt történik a peremrouteren, majd az üzenet replikálódik a globális naplóba. Az Ably technikai blogja (2024) szerint a végpontok közötti (end-to-end) késleltetés kevesebb mint 65 ms az üzenetek 95%-ánál kontinensek közötti átvitel esetén.
Az Ably csatornái — elnevezett témák üzenetváltáshoz. Minden csatornának korlátlan számú feliratkozója lehet, de a stabil teljesítmény érdekében egy zónán belül csatornánként legfeljebb 10 000 ajánlott. A csatornák lehetnek egyirányúak (csak szerverről történő publikálás) vagy teljesek (a kliensek is publikálhatnak üzeneteket).
A Pub/Sub modell az Ablyban további képességekkel bővíti a klasszikus mintát: feliratkozók jelenléte (presence), üzenettörténet (history), csatorna állapota (channel state) és névterek (namespaces). Minden csatorna egy névtérhez tartozik, amely meghatározza a kvótákat és a hozzáférési jogokat.
Jelenlét (Presence) — a csatorna résztvevőinek automatikus nyomon követése. Minden, a csatornára feliratkozó kliens regisztrál a jelenléti térképen clientId, állapot (online, away, offline) és tetszőleges adatok megadásával. A kliens leválasztásakor (időtúllépéssel vagy explicit módon) a jelenlét automatikusan frissül.
Üzenettörténet — minden csatorna alapértelmezés szerint tárolja az üzenettörténetet (ingyenes csomagban legfeljebb 2 percig vagy 100 üzenetig). Fizetős csomagokban a történet akár 72 óráig is meghosszabbítható, tetszőleges retrospektív hozzáférés lehetőségével. A történet az elosztott naplóban tárolódik, megváltoztathatatlansági garanciával (append-only).
| Funkció | Ingyenes csomag | Enterprise csomag |
|---|---|---|
| Egyidejű kapcsolatok | 100 | 10 000+ |
| Történet tárolása | 2 perc / 100 üzenet | 72 óra |
| Kézbesítési garancia | At-least-once | Exactly-once |
| Régiók | 1 régió | Mind a 15+ régió |
| SLA | 99,9% | 99,999% |
Kézbesítési garanciák — az Ably legfontosabb különbsége a legtöbb valós idejű szolgáltatáshoz képest. A platform több kézbesítési módot támogat, amelyek az üzenet publikálásakor választhatók ki. A mód határozza meg, hogy az üzenet hányszor kerül kézbesítésre, és hogyan kezelődnek a kapcsolódási hibák.
At-least-once — az üzenet legalább egyszer kézbesítésre kerül, duplikátumok lehetségesek. Ezt a módot értesítésekhez és nem kritikus adatokhoz használják, ahol a duplikátumok nem okoznak kárt. Exactly-once — az üzenet pontosan egyszer kerül kézbesítésre a kliens és a szerver oldali deduplikációnak köszönhetően. Ez a mód kötelező pénzügyi tranzakciókhoz és eszközkezeléshez.
Last-value cache — egy speciális mód, amelyben a csatorna tárolja minden elnevezett üzenet utolsó értékét. Az új feliratkozó azonnal megkapja az aktuális állapotot anélkül, hogy a következő eseményre várna. Ez minden routeren egy globális key-value tárolón keresztül van megvalósítva. Az Ably dokumentációja (2025) szerint a last-value cache az újracsatlakozás utáni állapot helyreállítási idejét 2–5 másodpercről 50–100 ms-ra csökkenti.
Az Ablyval való munka megkezdése regisztrációt, alkalmazás létrehozását és API-kulcs beszerzését igényli. A könyvtárak minden főbb platformhoz elérhetők. Nézzünk egy példát a publikálásra és feliratkozásra a JavaScript SDK használatával. A kliens API-kulccsal csatlakozik, feliratkozik egy csatornára, és eseménykezelőt csatol.
Az Ably dokumentációja (2025) szerint ajánlott különböző API-kulcsokat használni a szerver és a kliens oldalhoz minimális jogosultságokkal (a legkisebb jogosultság elve). A szerver kulcs bármely csatornában publikálhat, a kliens kulcs — csak bizonyos névterekre iratkozhat fel.
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('Fogadva:', 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('Üzenet közzétéve REST-en keresztül');
});
A választás az Ably és a Pusher között a projekt követelményeitől függ. Mindkét platform hosztolt valós idejű infrastruktúrát kínál, de architektúrában, garanciákban és árazásban különböznek. Az Ably a magas megbízhatósági követelményekkel rendelkező enterprise projektekre összpontosít, a Pusher a gyors indulásra és egyszerűségre.
Az Ably globális elosztott naplót használ minden csatornához, ami exactly-once kézbesítést és retrospektív hozzáférést biztosít a történethez. A Pusher közvetítő architektúrát használ at-least-once garanciával. A legtöbb alkalmazásnál a különbség nem észrevehető, de pénzügyi és orvosi rendszereknél az exactly-once kritikus.
Az Ably vs Pusher összehasonlító teszt (2024) szerint az Ably 20–30%-kal kisebb késleltetést mutat kontinensek közötti átvitelnél a nagyobb számú adatközpontnak köszönhetően. A Pusher az integrációs sebességben győz — az alapbeállítás 10–15 percet vesz igénybe szemben az Ably 20–30 percével a nagyobb számú konfigurációs lehetőség miatt.
Az Ably SDK mobil platformokhoz támogatja az iOS (Swift), Android (Kotlin/Java), Flutter és React Native rendszereket. A mobil kliensek teljes mértékben kompatibilisek az Ably szerveroldali részével, és támogatják az összes funkciót: pub/sub, presence, history, push értesítések. Androidhoz elérhető a Firebase Cloud Messaging integrációja a push értesítések offline kézbesítéséhez.
Optimalizálás mobil hálózatokhoz — az Ably SDK adaptív heartbeat-et használ: Wi-Fi-n az intervallum 15 másodperc, mobil hálózaton — akár 60 másodperc a forgalom megtakarítása érdekében. Kapcsolat elvesztése esetén az SDK átvált a tartalék szállítási módra (HTTP streaming) a felhasználó számára észrevehetetlen késleltetéssel. Átlagos forgalomfogyasztás — 0,5–1 KB percenként készenléti üzemmódban.
Push értesítések — az Ably támogatja a push küldését APNs (Apple) és FCM (Firebase) segítségével. A push irányítható egy adott csatornára vagy clientId-ra. Ha a kliens aktív (WebSocket csatlakoztatva), az üzenet a csatornán keresztül érkezik. Ha a kliens le van csatlakoztatva, az üzenet push értesítésként érkezik. Ez garantálja, hogy a felhasználó soha ne hagyjon ki fontos üzenetet.
Gyakran ismételt kérdések
Az Ably exactly-once kézbesítést, globális elosztott naplót és 99,999% SLA-t kínál. A Pusher egyszerűbben beállítható, de csak at-least-once garanciákat nyújt. Az Ablyt gyakran választják a magas megbízhatósági követelményekkel rendelkező enterprise projektek.
Az ingyenes csomag 100 egyidejű kapcsolatot és 500 000 üzenetet tartalmaz havonta. A fizetős csomagok 19 $/hó (1000 kapcsolat) ártól kezdődnek. Az egyedi garanciákkal rendelkező enterprise tarifáról egyénileg kell egyeztetni.
Igen, az exactly-once — az Ably egyik kulcsfontosságú funkciója. A deduplikáció a platform oldalán történik egyedi üzenetazonosítók (message ID + connection ID) segítségével.
Jelenleg az Ably 15+ jelenléti ponttal rendelkezik világszerte, beleértve az USA-t, Európát, Ázsiát, Ausztráliát és Dél-Amerikát. Az enterprise ügyfelek kiválaszthatják az adattároláshoz használt régiókat.
Igen, az Ably támogatja az MQTT protokollt alacsony energiafogyasztású IoT-eszközökhöz. ESP32, Arduino és Raspberry Pi eszközökhöz könnyűsúlyú SDK-k állnak rendelkezésre minimális memóriahasználattal.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is