Ably — een cloud-gebaseerd real-time messaging platform dat infrastructuur biedt voor pub/sub communicatie, aanwezigheid en statussynchronisatie. Het is ontworpen voor enterprise-projecten met hoge eisen aan betrouwbaarheid en wereldwijde beschikbaarheid. Volgens de officiële documentatie van Ably (2025), garandeert het platform 99.999% uptime en een leveringsvertraging van minder dan 65 ms in het 95e percentiel.
Belangrijkste punten
Ably — een cloud-gebaseerd real-time platform, opgericht in 2014, dat infrastructuur biedt voor real-time berichtenuitwisseling. In tegenstelling tot eenvoudige pub-diensten, biedt Ably enterprise leveringsgaranties, een wereldwijd netwerk van aanwezigheidspunten (POP) en ingebouwde statussynchronisatie voor miljoenen gelijktijdige clients.
Het platform wordt gebruikt in projecten waar leveringsbetrouwbaarheid cruciaal is: financiële tickers, logistieke trackers, medische monitorsystemen en multiplayer-games. Ably is gebaseerd op eigen technologie van een gedistribueerde berichtenbroker die gegevens repliceert via een wereldwijd netwerk van 15+ datacenters.
Volgens de officiële website van Ably (2025), verwerkt het platform maandelijks meer dan 200 miljard berichten voor 50.000+ actieve applicaties. Tot de klanten behoren bedrijven uit de Fortune 500: Toyota (autotelematica), HubSpot (CRM-synchronisatie), Designity (gezamenlijk bewerken).
De architectuur van Ably is gebouwd op een gedistribueerd netwerk van berichtenbrokers (routers) die verbonden zijn via snelle kanalen. Elke broker bedient een subset van kanalen en repliceert de status via het Ably Protocol — een binair protocol over WebSocket, geoptimaliseerd voor minimale overhead. Clients maken verbinding met de dichtstbijzijnde broker via DNS-loadbalancing.
Het belangrijkste verschil tussen Ably en concurrenten is de ingebouwde global log (wereldwijd logboek) dat de berichtgeschiedenis voor elk kanaal opslaat. Hierdoor kunnen nieuwe abonnees niet alleen nieuwe, maar ook eerdere berichten (replay) ontvangen, wat cruciaal is voor auditing en statusherstel na herverbinding.
Het interactiemodel van Ably volgt het Publisher-Subscriber patroon met extra mogelijkheden. De uitgever stuurt een bericht naar een kanaal via de REST API of SDK van Ably. Het bericht komt in het wereldwijde gedistribueerde logboek van het kanaal en wordt naar alle abonnees gestuurd via hun actieve verbindingen.
De transportlaag van Ably ondersteunt meerdere protocollen: WebSocket (primair, met binair Ably Protocol), Server-Sent Events (voor eenrichtingsontvangst), HTTP streaming (voor omgevingen met beperkingen) en MQTT (voor IoT-apparaten). De client kiest automatisch het beschikbare transport met de laagste latentie.
Elk bericht doorloopt validatie aan de kant van Ably — controle van de API-sleutelhandtekening, kanaalkwota, toegangsrechten. Validatie vindt plaats in 1–5 ms op de edge-router, waarna het bericht naar het wereldwijde logboek wordt gerepliceerd. Volgens de technische blog van Ably (2024), is de end-to-end vertraging minder dan 65 ms voor 95% van de berichten bij intercontinentale transmissie.
Kanalen van Ably — benoemde onderwerpen voor berichtenuitwisseling. Elk kanaal kan een onbeperkt aantal abonnees hebben, maar voor stabiele prestaties wordt aanbevolen niet meer dan 10.000 per kanaal binnen één zone te gebruiken. Kanalen kunnen eenrichtingsverkeer (alleen publiceren vanaf de server) of volledig (clients publiceren berichten) zijn.
Het Pub/Sub model in Ably breidt het klassieke patroon uit met extra mogelijkheden: aanwezigheid van abonnees (presence), berichtgeschiedenis (history), kanaalstatus (channel state) en naamruimten (namespaces). Elk kanaal behoort tot een naamruimte die quota en toegangsrechten bepaalt.
Aanwezigheid (Presence) — automatisch volgen van kanaaldeelnemers. Elke client die zich op een kanaal abonneert, registreert zich in de presence-map met clientId, status (online, away, offline) en willekeurige gegevens. Bij verbreking van de client (time-out of expliciet) wordt de aanwezigheid automatisch bijgewerkt.
Berichtgeschiedenis — elk kanaal bewaart standaard de berichtgeschiedenis (tot 2 minuten of 100 berichten in het gratis plan). In betaalde abonnementen kan de geschiedenis worden verlengd tot 72 uur met de mogelijkheid van willekeurige retrospectieve toegang. De geschiedenis wordt opgeslagen in een gedistribueerd logboek met onveranderlijkheidsgarantie (append-only).
| Functie | Gratis plan | Enterprise plan |
|---|---|---|
| Gelijktijdige verbindingen | 100 | 10.000+ |
| Geschiedenis opslag | 2 minuten / 100 berichten | 72 uur |
| Leveringsgarantie | At-least-once | Exactly-once |
| Regio's | 1 regio | Alle 15+ regio's |
| SLA | 99,9% | 99,999% |
Leveringsgaranties — het belangrijkste verschil tussen Ably en de meeste real-time diensten. Het platform ondersteunt meerdere leveringsmodi die bij het publiceren van een bericht worden gekozen. De modus bepaalt hoe vaak een bericht wordt afgeleverd en hoe verbindingsfouten worden afgehandeld.
At-least-once — het bericht wordt ten minste één keer afgeleverd, duplicaten zijn mogelijk. Deze modus wordt gebruikt voor meldingen en niet-kritieke gegevens waarbij duplicaten geen kwaad kunnen. Exactly-once — het bericht wordt precies één keer afgeleverd door deduplicatie aan client- en serverzijde. Deze modus is verplicht voor financiële transacties en apparaatbeheer.
Last-value cache — een speciale modus waarbij het kanaal de laatste waarde van elk benoemd bericht bewaart. Een nieuwe abonnee ontvangt onmiddellijk de huidige status zonder te wachten op de volgende gebeurtenis. Dit wordt geïmplementeerd via een wereldwijde key-value store op elke router. Volgens de documentatie van Ably (2025), verkort last-value cache de hersteltijd van de status na herverbinding van 2–5 seconden tot 50–100 ms.
Aan de slag met Ably vereist registratie, het aanmaken van een applicatie en het verkrijgen van een API-sleutel. Bibliotheken zijn beschikbaar voor alle belangrijke platforms. Laten we een voorbeeld bekijken van publiceren en abonneren met de JavaScript SDK. De client maakt verbinding met een API-sleutel, abonneert zich op een kanaal en koppelt een gebeurtenisafhandelaar.
Volgens de documentatie van Ably (2025), wordt aanbevolen verschillende API-sleutels te gebruiken voor server- en clientzijde met minimale rechten (principe van最小 bevoegdheid). De serversleutel kan in elk kanaal publiceren, de clientsleutel kan zich alleen abonneren op bepaalde naamruimten.
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('Ontvangen:', 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('Bericht gepubliceerd via REST');
});
De keuze tussen Ably en Pusher hangt af van de projectvereisten. Beide platforms bieden gehoste real-time infrastructuur, maar verschillen in architectuur, garanties en prijsstelling. Ably is gericht op enterprise met hoge betrouwbaarheidseisen, Pusher op snelle start en eenvoud.
Ably gebruikt een wereldwijd gedistribueerd logboek voor elk kanaal, wat exactly-once levering en retrospectieve toegang tot de geschiedenis garandeert. Pusher gebruikt een brokerarchitectuur met at-least-once garantie. Voor de meeste applicaties is het verschil niet merkbaar, maar voor financiële en medische systemen is exactly-once cruciaal.
Volgens de vergelijkingstest Ably vs Pusher (2024), toont Ably 20–30% minder latentie bij intercontinentale transmissie dankzij het grotere aantal datacenters. Pusher wint op integratiesnelheid — de basisconfiguratie duurt 10–15 minuten tegenover 20–30 minuten voor Ably vanwege het grotere aantal configuratieopties.
De Ably SDK voor mobiele platforms ondersteunt iOS (Swift), Android (Kotlin/Java), Flutter en React Native. Mobiele clients zijn volledig compatibel met het servergedeelte van Ably en ondersteunen alle functies: pub/sub, presence, history, push-meldingen. Voor Android is integratie met Firebase Cloud Messaging beschikbaar voor offline levering van push-meldingen.
Optimalisatie voor mobiele netwerken — de Ably SDK gebruikt adaptieve heartbeat: op Wi-Fi is het interval 15 seconden, op mobiele netwerken — tot 60 seconden om verkeer te besparen. Bij verbindingsverlies schakelt de SDK over op back-up transport (HTTP streaming) zonder zichtbare vertraging voor de gebruiker. Gemiddeld verbruik — 0,5–1 KB per minuut in de wachtstand.
Push-meldingen — Ably ondersteunt het verzenden van push via APNs (Apple) en FCM (Firebase). Push kan naar een specifiek kanaal of clientId worden gestuurd. Als de client actief is (WebSocket verbonden), wordt het bericht via het kanaal afgeleverd. Als de client is verbroken, wordt het bericht als push-melding afgeleverd. Dit garandeert dat de gebruiker nooit een belangrijk bericht mist.
Veelgestelde vragen
Ably biedt exactly-once levering, een wereldwijd gedistribueerd logboek en 99,999% SLA. Pusher is eenvoudiger in te stellen, maar biedt alleen at-least-once garanties. Ably wordt vaak gekozen door enterprise-projecten met hoge betrouwbaarheidseisen.
Het gratis plan omvat 100 gelijktijdige verbindingen en 500.000 berichten per maand. Betaalde abonnementen beginnen bij $19/maand (1000 verbindingen). Het enterprise-tarief met aangepaste garanties wordt individueel besproken.
Ja, exactly-once — een van de kernfuncties van Ably. Deduplicatie wordt aan de platformzijde uitgevoerd met behulp van unieke berichtidentificaties (message ID + connection ID).
Momenteel heeft Ably 15+ aanwezigheidspunten wereldwijd, waaronder de VS, Europa, Azië, Australië en Zuid-Amerika. Enterprise-klanten kunnen specifieke regio's kiezen voor gegevensopslag.
Ja, Ably ondersteunt het MQTT-protocol voor IoT-apparaten met laag stroomverbruik. Voor apparaten op ESP32, Arduino en Raspberry Pi zijn lichtgewicht SDK's beschikbaar met minimaal geheugengebruik.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook