25 puntos por xguru 2025-12-24 | Aún no hay comentarios. | Compartir por WhatsApp
  • Protocolo de streaming duradero basado en HTTP que transmite datos de forma confiable a navegadores web, móviles y clientes nativos
  • Ofrece una forma simple y probada de crear y consumir streams con garantía de orden y posibilidad de reproducción
  • La reanudación basada en offsets permite continuar desde el punto de interrupción incluso si se corta la conexión
  • Puede usarse en diversos escenarios en tiempo real como streaming de conversaciones con IA, sincronización de bases de datos, edición colaborativa, event sourcing y ejecución de workflows
  • Resuelve los problemas de inestabilidad de conexión presentes en WebSocket y SSE
  • El diseño seguro ante refresh permite reanudar en la misma posición incluso después de cambiar de pestaña o pasar la app a segundo plano
  • El uso compartido de streams mediante URL permite que varios usuarios vean el mismo stream al mismo tiempo
  • Su arquitectura amigable con CDN y orientada al ahorro de costos permite manejar millones de conexiones simultáneas desde un solo origen
  • Soporta sincronización entre múltiples dispositivos y múltiples pestañas
  • Características del protocolo
    • Universal: puede usarse en cualquier entorno donde funcione HTTP
    • Simple: basado en HTTP estándar, sin necesidad de protocolos personalizados adicionales
    • Resumable: admite lectura y reanudación basadas en offsets
    • Real-time: permite tailing en tiempo real mediante modos Long-poll y SSE
    • Economical: logra escalabilidad eficiente mediante caché en CDN
    • Composable: permite construir capas de abstracción superiores (por ejemplo, el motor de sincronización en tiempo real de Postgres de Electric)
  • Características de rendimiento
    • Latencia inferior a 15 ms, manejo de millones de suscriptores simultáneos y escalabilidad horizontal
    • La estructura de URL basada en offsets maximiza el uso de caché en CDN
  • Relación con los sistemas de streaming de backend
    • Complementa sistemas de mensajería entre servidores como Kafka, RabbitMQ y Kinesis
    • Durable Streams se encarga de la capa de transporte hacia el cliente
    • El servidor realiza autenticación y transformación de datos, y Durable Streams los distribuye por fan-out sobre HTTP
  • Diferencias frente a SSE y WebSocket
    • SSE y WebSocket solo ofrecen una conexión simple; Durable Streams proporciona una estructura basada en logs duraderos
    • Combina las ventajas de un log estandarizado, como reanudación por offsets, reproducción de historial y soporte para múltiples lectores
  • Flexibilidad de implementación
    • Se puede crear un servidor en cualquier lenguaje implementando solo una API HTTP, almacenamiento duradero y gestión de offsets
    • Incluye un servidor de referencia en Node.js y herramientas de pruebas de conformidad y benchmarks
  • Casos de uso principales
    • Sincronización en tiempo real de bases de datos: streaming de cambios de Postgres hacia web y móviles
    • Sistemas de event sourcing: restauración de estado basada en logs de eventos duraderos
    • Streaming de conversaciones con IA: los streams de tokens de LLM pueden reanudarse sin interrupciones
  • Protocolo bajo licencia Apache 2.0, validado durante 1.5 años en producción por el equipo de Electric SQL

Aún no hay comentarios.

Aún no hay comentarios.