Ably est une plateforme de messagerie en temps réel dans le cloud qui fournit une infrastructure pour la communication pub/sub, la présence et la synchronisation d'état. Elle est conçue pour les projets d'entreprise avec des exigences élevées de fiabilité et de disponibilité mondiale. Selon la documentation officielle d'Ably (2025), la plateforme garantit 99,999% de disponibilité et une latence de livraison inférieure à 65 ms au 95e percentile.
Points clés
Ably est une plateforme cloud en temps réel fondée en 2014 qui fournit une infrastructure pour la messagerie en temps réel. Contrairement aux services pub simples, Ably offre des garanties de livraison de niveau entreprise, un réseau mondial de points de présence (POP) et une synchronisation d'état intégrée pour des millions de clients simultanés.
La plateforme est utilisée dans des projets où la fiabilité de livraison est critique : tickers financiers, trackers logistiques, systèmes de surveillance médicale et jeux multijoueurs. Ably repose sur sa propre technologie de courtier de messages distribuée, qui réplique les données sur un réseau mondial de plus de 15 centres de données.
Selon le site officiel d'Ably (2025), la plateforme traite plus de 200 milliards de messages par mois pour plus de 50 000 applications actives. Parmi les clients figurent des entreprises du Fortune 500 : Toyota (télématique automobile), HubSpot (synchronisation CRM), Designity (édition collaborative).
L'architecture d'Ably est construite sur un réseau distribué de courtiers de messages (routeurs) connectés par des canaux à haute vitesse. Chaque courtier dessert un sous-ensemble de canaux et réplique l'état via le Protocole Ably — un protocole binaire sur WebSocket optimisé pour une surcharge minimale. Les clients se connectent au courtier le plus proche via l'équilibrage de charge DNS.
Un différenciateur clé d'Ably par rapport aux concurrents est le journal global intégré, qui stocke l'historique des messages de chaque canal. Cela permet aux nouveaux abonnés de recevoir non seulement les nouveaux messages, mais aussi les précédents (replay), ce qui est essentiel pour l'audit et la récupération d'état après reconnexion.
Le modèle d'interaction d'Ably suit le modèle Publieur-Souscripteur avec des capacités supplémentaires. Le publieur envoie un message à un canal via l'API REST Ably ou le SDK. Le message entre dans le journal distribué global du canal et est distribué à tous les abonnés via leurs connexions actives.
Couche de transport — Ably prend en charge plusieurs protocoles : WebSocket (principal, avec le protocole Ably binaire), Server-Sent Events (pour la réception unidirectionnelle), HTTP streaming (pour les environnements restreints) et MQTT (pour les appareils IoT). Le client sélectionne automatiquement le transport disponible avec la latence la plus faible.
Chaque message passe par une validation du côté d'Ably — vérification de la signature de la clé API, vérification du quota du canal, droits d'accès. La validation se produit en 1 à 5 ms sur le routeur de périphérie, après quoi le message est répliqué dans le journal global. Selon le blog technique d'Ably (2024), la latence de bout en bout est inférieure à 65 ms pour 95% des messages lors d'une transmission intercontinentale.
Les canaux Ably sont des sujets nommés pour l'échange de messages. Chaque canal peut avoir un nombre illimité d'abonnés, mais pour des performances stables, il est recommandé de ne pas dépasser 10 000 par canal dans une zone. Les canaux peuvent être unidirectionnels (publication depuis le serveur uniquement) ou full-duplex (les clients publient des messages).
Le modèle Pub/Sub dans Ably étend le modèle classique avec des capacités supplémentaires : présence des abonnés, historique des messages, état du canal et espaces de noms. Chaque canal appartient à un espace de noms qui définit les quotas et les droits d'accès.
Présence — suivi automatique des participants du canal. Chaque client abonné à un canal s'enregistre dans la carte de présence avec clientId, statut (en ligne, absent, hors ligne) et des données arbitraires. Lorsqu'un client se déconnecte (par timeout ou explicitement), la présence est automatiquement mise à jour.
Historique des messages — chaque canal stocke l'historique des messages par défaut (jusqu'à 2 minutes ou 100 messages sur le plan gratuit). Sur les plans payants, l'historique peut être étendu jusqu'à 72 heures avec un accès rétrospectif arbitraire. L'historique est stocké dans un journal distribué avec des garanties d'immuabilité (append-only).
| Fonction | Plan gratuit | Plan Enterprise |
|---|---|---|
| Connexions simultanées | 100 | 10 000+ |
| Conservation de l'historique | 2 minutes / 100 messages | 72 heures |
| Garantie de livraison | At-least-once | Exactly-once |
| Régions | 1 région | Toutes les 15+ régions |
| SLA | 99,9% | 99,999% |
Les garanties de livraison sont un différenciateur clé d'Ably par rapport à la plupart des services en temps réel. La plateforme prend en charge plusieurs modes de livraison, sélectionnables lors de la publication d'un message. Le mode détermine combien de fois un message sera livré et comment les échecs de connexion sont traités.
At-least-once — le message est livré au moins une fois, les doublons sont possibles. Ce mode est utilisé pour les notifications et les données non critiques où les doublons ne causent pas de dommages. Exactly-once — le message est livré exactement une fois grâce à la déduplication côté client et serveur. Ce mode est obligatoire pour les transactions financières et la gestion des appareils.
Last-value cache — un mode spécial où le canal stocke la dernière valeur de chaque message nommé. Un nouvel abonné reçoit instantanément l'état actuel sans attendre l'événement suivant. Ceci est implémenté via un magasin global clé-valeur sur chaque routeur. Selon la documentation d'Ably (2025), le last-value cache réduit le temps de récupération d'état après reconnexion de 2 à 5 secondes à 50 à 100 ms.
Commencer avec Ably nécessite une inscription, la création d'une application et l'obtention d'une clé API. Les bibliothèques sont disponibles pour toutes les principales plateformes. Regardons un exemple de publication et d'abonnement utilisant le SDK JavaScript. Le client se connecte avec une clé API, s'abonne à un canal et attache un gestionnaire d'événements.
Selon la documentation d'Ably (2025), il est recommandé d'utiliser des clés API différentes pour la partie serveur et client avec des permissions minimales (principe du moindre privilège). La clé serveur peut publier sur n'importe quel canal, tandis que la clé client ne peut s'abonner qu'à des espaces de noms spécifiques.
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');
});
Le choix entre Ably et Pusher dépend des exigences du projet. Les deux plateformes fournissent une infrastructure temps réel hébergée, mais diffèrent par l'architecture, les garanties et la tarification. Ably est axée sur les entreprises avec des exigences élevées de fiabilité, tandis que Pusher est orientée vers un démarrage rapide et la simplicité.
Ably utilise un journal distribué global pour chaque canal, garantissant une livraison exactly-once et un accès rétrospectif à l'historique. Pusher utilise une architecture de courtier avec des garanties at-least-once. Pour la plupart des applications, la différence est imperceptible, mais pour les systèmes financiers et médicaux, l'exactly-once est critique.
Selon un test comparatif Ably vs Pusher (2024), Ably démontre une latence 20 à 30% inférieure pour la transmission intercontinentale grâce à un plus grand nombre de centres de données. Pusher gagne en vitesse d'intégration — la configuration de base prend 10 à 15 minutes contre 20 à 30 minutes pour Ably en raison du plus grand nombre d'options de configuration.
Le SDK Ably pour plateformes mobiles prend en charge iOS (Swift), Android (Kotlin/Java), Flutter et React Native. Les clients mobiles sont entièrement compatibles avec le côté serveur d'Ably et prennent en charge toutes les fonctionnalités : pub/sub, présence, historique, notifications push. Pour Android, l'intégration avec Firebase Cloud Messaging est disponible pour la livraison de notifications push hors ligne.
Optimisation pour les réseaux mobiles — le SDK Ably utilise un battement de cœur adaptatif : sur Wi-Fi, l'intervalle est de 15 secondes, sur les réseaux mobiles — jusqu'à 60 secondes pour économiser le trafic. En cas de perte de connexion, le SDK bascule vers un transport de secours (HTTP streaming) sans délai visible pour l'utilisateur. La consommation moyenne de trafic est de 0,5 à 1 Ko par minute en mode veille.
Notifications push — Ably prend en charge l'envoi de push via APNs (Apple) et FCM (Firebase). Le push peut être dirigé vers un canal spécifique ou un clientId. Si le client est actif (WebSocket connecté), le message est livré via le canal. Si le client est déconnecté, le message est livré comme notification push. Cela garantit que l'utilisateur ne manque jamais un message important.
Foire aux questions
Ably offre une livraison exactly-once, un journal distribué global et un SLA de 99,999%. Pusher est plus simple à configurer mais ne fournit que des garanties at-least-once. Ably est souvent choisie par les projets d'entreprise avec des exigences élevées de fiabilité.
Le plan gratuit comprend 100 connexions simultanées et 500 000 messages par mois. Les plans payants commencent à 19 $/mois (1000 connexions). Le tarif Entreprise avec des garanties personnalisées est discuté individuellement.
Oui, exactly-once est l'une des fonctionnalités clés d'Ably. La déduplication est effectuée du côté de la plateforme en utilisant des identifiants de message uniques (message ID + connection ID).
Actuellement, Ably dispose de 15+ points de présence dans le monde entier, y compris aux États-Unis, en Europe, en Asie, en Australie et en Amérique du Sud. Les clients Entreprise peuvent sélectionner des régions spécifiques pour le stockage des données.
Oui, Ably prend en charge le protocole MQTT pour les appareils IoT à faible consommation d'énergie. Des SDK légers avec une utilisation minimale de la mémoire sont disponibles pour les appareils équipés d'ESP32, d'Arduino et de Raspberry Pi.
Résumé
Nous développerons une application mobile clé en main
IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.
Lisez aussi