Protocole Mercure : temps réel avec HTTP/2
Présentation de Bertrand Colas sur le protocole Mercure pour les applications temps réel (mai 2020)

Cette sketchnote a été réalisée lors d'une présentation interne en mai 2020, pendant la période de confinement COVID. Elle synthétise la présentation sur le protocole Mercure donnée par Bertrand Colas, qui explore cette solution moderne pour les applications temps réel basée sur HTTP/2.
Contenu de la présentation
Bertrand Colas présente Mercure comme une alternative moderne aux WebSockets traditionnels pour développer des applications temps réel. Le protocole s'appuie sur les standards web existants, notamment HTTP/2 et les Server-Sent Events (SSE), pour offrir une solution plus simple et plus robuste.
L'architecture Mercure repose sur un modèle HUB FANOUT qui centralise la distribution des messages entre le serveur et les clients. Cette approche permet de gérer efficacement la diffusion d'informations en temps réel tout en conservant un caractère stateless, facilitant ainsi la montée en charge et la maintenance des applications.
La présentation illustre ces concepts avec l'exemple concret d'une application de chat, démontrant comment Mercure peut gérer les messages instantanés, l'historique des conversations, et la synchronisation entre multiple clients connectés.
Points clés à retenir
- Basé sur les standards web : Utilise HTTP/2 et Server-Sent Events plutôt que des protocoles propriétaires comme WebSockets
- Architecture HUB centralisée : Modèle fanout qui simplifie la distribution des messages vers multiple clients
- Stateless par conception : Facilite la scalabilité et la maintenance des applications temps réel
- Gestion de l'historique : Capacité à rejouer les événements passés pour les nouveaux clients connectés
- Cas d'usage chat : Particulièrement adapté pour les applications de messagerie instantanée et collaboration temps réel