25 Punkte von xguru 2025-12-24 | Noch keine Kommentare. | Auf WhatsApp teilen
  • HTTP-basiertes langlebiges Streaming-Protokoll, das Daten zuverlässig an Webbrowser, mobile und native Clients überträgt
  • Unterstützung eines einfachen und bewährten Ansatzes zum Erzeugen und Konsumieren von geordneten, wiederabspielbaren Streams
  • Offset-basierte Wiederaufnahmefunktion, mit der nach Verbindungsabbrüchen ab der Unterbrechungsstelle fortgesetzt werden kann
  • Einsetzbar für verschiedene Echtzeit-Szenarien wie Streaming von AI-Konversationen, Datenbanksynchronisation, kollaboratives Bearbeiten, Event Sourcing und Workflow-Ausführung
  • Behebt die Probleme mit instabilen Verbindungen bestehender WebSocket- und SSE-Lösungen
  • Refresh-sicheres Design ermöglicht die Wiederaufnahme an derselben Stelle auch nach Tab-Wechseln oder wenn die App in den Hintergrund wechselt
  • URL-basiertes Teilen von Streams erlaubt mehreren Nutzern, denselben Stream gleichzeitig anzusehen
  • Kostenoptimierte CDN-freundliche Architektur, mit der sich Millionen gleichzeitiger Verbindungen über einen einzigen Origin verarbeiten lassen
  • Unterstützung für Synchronisation über mehrere Geräte und Tabs hinweg
  • Eigenschaften des Protokolls
    • Universal: In jeder Umgebung nutzbar, in der HTTP funktioniert
    • Simple: Auf Standard-HTTP basierend, kein separates Custom-Protokoll erforderlich
    • Resumable: Unterstützt offset-basiertes Lesen und Wiederaufnehmen
    • Real-time: Echtzeit-Tailing über Long-Poll- und SSE-Modus möglich
    • Economical: Effiziente Skalierbarkeit durch CDN-Caching
    • Composable: Ermöglicht den Aufbau höherer Abstraktionsschichten (z. B. Electrics Echtzeit-Postgres-Synchronisations-Engine)
  • Leistungsmerkmale
    • Latenz unter 15 ms, Verarbeitung von Millionen gleichzeitiger Abonnenten und horizontale Skalierbarkeit
    • Offset-basierte URL-Struktur zur maximalen Nutzung des CDN-Caches
  • Beziehung zu Backend-Streaming-Systemen
    • Ergänzt Messaging-Systeme zwischen Servern wie Kafka, RabbitMQ und Kinesis
    • Durable Streams übernimmt die Client-Transportschicht
    • Der Server übernimmt Authentifizierung und Datentransformation, Durable Streams verteilt diese dann HTTP-basiert an viele Empfänger
  • Unterschiede zu SSE und WebSocket
    • SSE/WebSocket stellen nur einfache Verbindungen bereit, während Durable Streams eine auf langlebigen Logs basierende Struktur bietet
    • Vereint die Vorteile standardisierter Logs wie Offset-Wiederaufnahme, History-Replay und Unterstützung mehrerer Reader
  • Flexible Implementierung
    • Ein Server kann in jeder Sprache gebaut werden, solange HTTP-API, langlebiger Speicher und Offset-Verwaltung implementiert sind
    • Node.js-Referenzserver sowie Konformitätstests und Benchmark-Tools werden bereitgestellt
  • Wichtige Anwendungsfälle
    • Echtzeit-Datenbanksynchronisation: Streamt Änderungen in Postgres an Web- und Mobile-Clients
    • Event-Sourcing-Systeme: Zustandswiederherstellung auf Basis langlebiger Event-Logs
    • Streaming von AI-Konversationen: LLM-Token-Streams lassen sich ohne Unterbrechung wiederaufnehmen
  • Unter der Apache-2.0-Lizenz veröffentlichtes Protokoll, das vom Electric SQL-Team über 1,5 Jahre im produktiven Einsatz validiert wurde

Noch keine Kommentare.

Noch keine Kommentare.