- Protocole de streaming durable basé sur HTTP permettant de transmettre les données de façon fiable aux navigateurs web, aux clients mobiles et natifs
- Prend en charge une méthode simple et éprouvée pour créer et consommer des flux rejouables avec garantie d’ordre
- La reprise basée sur les offsets permet de reprendre à partir du point d’interruption même après une coupure de connexion
- Utilisable dans divers scénarios temps réel comme le streaming de conversations IA, la synchronisation de bases de données, l’édition collaborative, l’event sourcing et l’exécution de workflows
- Résout les problèmes d’instabilité de connexion des WebSocket et de SSE
- Conception refresh-safe permettant de reprendre au même endroit après un changement d’onglet ou le passage de l’application en arrière-plan
- Le partage de flux basé sur URL permet à plusieurs utilisateurs de consulter simultanément le même flux
- Une architecture compatible CDN et pensée pour réduire les coûts permet de gérer des millions de connexions simultanées depuis une seule origine
- Prend en charge la synchronisation multi-appareils et multi-onglets
- Caractéristiques du protocole
- Universal : utilisable dans tout environnement où HTTP fonctionne
- Simple : basé sur HTTP standard, sans protocole personnalisé supplémentaire
- Resumable : prise en charge de la lecture et de la reprise basées sur les offsets
- Real-time : tailing en temps réel via les modes long-poll et SSE
- Economical : montée en charge efficace grâce au cache CDN
- Composable : permet de construire des couches d’abstraction supérieures (par ex. le moteur de synchronisation Postgres en temps réel d’Electric)
- Caractéristiques de performance
- Latence inférieure à 15 ms, gestion de millions d’abonnés simultanés, scalabilité horizontale
- Une structure d’URL basée sur les offsets maximise l’utilisation du cache CDN
- Relation avec les systèmes de streaming backend
- Complète les systèmes de messagerie inter-serveurs comme Kafka, RabbitMQ et Kinesis
- Durable Streams prend en charge la couche de transport vers le client
- Le serveur effectue l’authentification et la transformation des données, puis Durable Streams les diffuse en fan-out sur HTTP
- Différences avec SSE et WebSocket
- SSE/WebSocket fournissent une simple connexion, tandis que Durable Streams apporte une structure fondée sur un journal durable
- Combine les avantages d’un journal standardisé, comme la reprise par offset, la relecture de l’historique et la prise en charge de plusieurs lecteurs
- Souplesse d’implémentation
- Il suffit d’implémenter une API HTTP, un stockage durable et la gestion des offsets pour créer un serveur dans n’importe quel langage
- Fournit un serveur de référence Node.js ainsi que des tests de conformité et des outils de benchmark
- Principaux cas d’usage
- Synchronisation de base de données en temps réel : diffusion des changements Postgres vers le web et le mobile
- Systèmes d’event sourcing : restauration d’état fondée sur un journal d’événements durable
- Streaming de conversations IA : reprise sans interruption des flux de tokens LLM
- Protocole sous licence Apache 2.0, validé en production pendant 1,5 an par l’équipe Electric SQL
Aucun commentaire pour le moment.