Realtime в приложении есть, а WebSocket — нет: сервер отдаёт сообщения через long-polling. Разбираю на примере боевого iOS-сервиса, где такой realtime реально ломается — гонки при переподключении и токен поколения, full jitter в backoff, два независимых потока сообщений в одном ответе и как не задублировать локальные пуши на холодном старте. Читать далее
Бывает, что realtime на проекте уже нужен, а WebSocket по каким-то причинам нет. Остаётся long-polling: клиент шлёт «бесконечный» HTTP-запрос, сервер держит его, пока не появятся новые сообщения, отвечает - и клиент тут же открывает следующий. Звучит просто, ровно до первого запуска на живом…
WebSocket принято считать очевидным выбором, когда сервер должен постоянно отправлять клиенту свежие данные. Но что произойдёт, если вместо обычного веб-приложения у нас SCADA, а клиентов становится 1000?Был собран тестовый стенд с OpenPLC, Modbus TCP и ASP.NET Core. Сравнивались Short Polling, Long Polling и WebSocket
В это статье будет сделан обзор возможностей модуля Nchan веб-сервера nginx, который заменил deprecated модуль NGiNX_HTTP_Push_Module. Модуль Nchan поддерживает основные технологии отправки сообщений Websocket, EventSource (Server-Sent Events), Long-Polling. Для горизонтального масштабирования используется кластер серверов redis. Читать дальше →