25 pontos por xguru 2025-12-24 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Protocolo de streaming durável baseado em HTTP para transmitir dados de forma confiável para navegadores web, dispositivos móveis e clientes nativos
  • Suporta uma forma simples e comprovada de criar e consumir streams com ordenação garantida e possibilidade de replay
  • Retomada baseada em offset, permitindo continuar do ponto de interrupção mesmo após queda de conexão
  • Pode ser usado em vários cenários em tempo real, como streaming de conversas com IA, sincronização de banco de dados, edição colaborativa, event sourcing e execução de workflows
  • Resolve os problemas de instabilidade de conexão existentes em WebSocket e SSE
  • Design seguro para refresh, permitindo retomar da mesma posição mesmo após trocar de aba ou colocar o app em segundo plano
  • Compartilhamento de stream via URL, permitindo que vários usuários acompanhem o mesmo stream ao mesmo tempo
  • Estrutura compatível com CDN e voltada à redução de custos, capaz de atender milhões de conexões simultâneas a partir de uma única origem
  • Suporte a sincronização entre múltiplos dispositivos e múltiplas abas
  • Características do protocolo
    • Universal: pode ser usado em qualquer ambiente onde HTTP funcione
    • Simple: baseado em HTTP padrão, sem necessidade de protocolo customizado separado
    • Resumable: suporta leitura e retomada baseadas em offset
    • Real-time: permite tailing em tempo real com modos Long-poll e SSE
    • Economical: garante escalabilidade eficiente por meio de cache em CDN
    • Composable: permite construir camadas de abstração superiores, como o mecanismo de sincronização em tempo real de Postgres da Electric
  • Características de desempenho
    • Latência abaixo de 15 ms, suporte a milhões de assinantes simultâneos e escalabilidade horizontal
    • Estrutura de URL baseada em offset para maximizar o uso de cache de CDN
  • Relação com sistemas de streaming de backend
    • Complementa sistemas de mensageria entre servidores como Kafka, RabbitMQ e Kinesis
    • Durable Streams é responsável pela camada de transporte para clientes
    • O servidor realiza autenticação e transformação de dados, e o Durable Streams faz o fan-out disso via HTTP
  • Diferenças em relação a SSE e WebSocket
    • SSE/WebSocket fornecem apenas conexão simples; Durable Streams fornece uma estrutura baseada em log durável
    • Combina as vantagens de um log padronizado, como retomada por offset, replay de histórico e suporte a múltiplos leitores
  • Flexibilidade de implementação
    • Qualquer linguagem pode ser usada para criar o servidor, desde que implemente a API HTTP, o armazenamento durável e o gerenciamento de offsets
    • Fornece servidor de referência em Node.js e ferramentas de teste de conformidade e benchmark
  • Principais casos de uso
    • Sincronização em tempo real de banco de dados: streaming de alterações do Postgres para web e mobile
    • Sistemas de event sourcing: restauração de estado com base em logs de eventos duráveis
    • Streaming de conversas com IA: permite retomar streams de tokens de LLM sem interrupção
  • Protocolo sob licença Apache 2.0, validado pela equipe do Electric SQL em produção ao longo de 1,5 ano

Ainda não há comentários.

Ainda não há comentários.