SSE в production: почему нативного EventSource недостаточно и что с этим делать

Разбираю, почему нативного EventSource часто недостаточно для production SSE: авторизация через headers, контролируемый reconnect, backoff, race conditions, stale-stream watchdog и синхронизация нескольких вкладок через Web Locks + BroadcastChannel. На базе этих проблем я вынес real-time слой из AI SaaS-продукта в open-source библиотеку sse-runtime и заменил ей самописную инфраструктуру: −3 455 строк кода в production PR, один useSSE-хук вместо ручного reconnect, leader election и отладочного boilerplate. Почему EventSource ломается в production

https://habr.com/ru/articles/1044808/

#sse #serversent_events #react #typescript #realtime #streaming #frontend_architecture #BroadcastChannel #npm #open_source

SSE в production: почему нативного EventSource недостаточно и что с этим делать

Введение Год назад я строил real-time слой для AI SaaS-платформы. Корпоративные клиенты, AI-чаты со стримингом ответов, несколько вкладок открытых одновременно — типичный сценарий для подобного...

Хабр

Введение в WebSocket и Socket.IO

Введение WebSocket — это протокол, обеспечивающий двустороннюю коммуникацию между клиентом и сервером, идеально подходящий для приложений, где необходима передача данных в реальном времени, таких как чаты, уведомления и онлайн-игры Socket.IO — это библиотека, которая расширяет возможности WebSocket, предоставляя механизмы автоматического переподключения и fallback-режимы для более стабильной работы в нестабильных сетевых условиях В этой статье мы рассмотрим, как работают эти технологии, какие задачи решают, их преимущества и ограничения, а также покажем, как быстро настроить сервер и клиента для работы с WebSocket и Socket.IO .

https://habr.com/ru/articles/882672/

#socketio #websocket #socket #longpolling #sse #server_sent_events #longpolling #serversent_events #http #httppooling

Введение в WebSocket и Socket.IO

В современном веб-разработке многие приложения требуют мгновенного обмена данными между клиентом и сервером. Чаты, уведомления, совместное редактирование документов, онлайн-игры – все они нуждаются в...

Хабр

Пришем Realtime для Multiple-page application в микросервисной архитектуре

⌚️Пришем Realtime для Multiple-page application в микросервисной архитектуре Частое явление в вебе — полная перезагрузка приложения при переходе между страницами. При этом соединение WebSocket разрывается, а новая подписка устанавливается только после начала выполнения загруженного JavaScript , что занимает как минимум секунду. Во время перезагрузки страницы сообщения, отправленные через WebSocket , не будут получены клиентской частью приложения. В статье описывается, как отправить пропущенные во время переподключения события WebSocket повторно в порядке очередности поступления

https://habr.com/ru/articles/866130/

#typescript #javascript #realtime #redis #grpc #faulttolerant #scalability #websockets #serversent_events #http2

Пришем Realtime для Multiple-page application в микросервисной архитектуре

Исходный код, разобранный в статье, опубликован в этом репозитории Частое явление в вебе — полная перезагрузка приложения при переходе между страницами. При этом соединение WebSocket разрывается, а...

Хабр