Информация об изменениях

Сообщение Посоветуйте решение от 12.04.2025 16:31

Изменено 12.04.2025 18:58 pva

Посоветуйте решение
Привет,

у самого еще пазл не до конца в голове сложился, поэтому описание может быть технически не точным.
Пользовательская часть.
Система похожа на терминалы котировок. Пользователи через браузеры подключаются к серверу (облачный пул) и запрашивают одну или несколько категорий данных.
Поток данных идет мелкими пакетами и неравномерный во времени. Затраты на соединение слишком дорогие и думаю что удержание постоянного соединения — мой вариант.
Смотрю в сторону HTTP3/QUIC/WebTransport или WebSockets для реализации клиента на JS.

Облачная часть.
По сути, это группа софтовых маршрутизаторов, которые должны перекидывать потоки по заданным правилам.
Общая таблица маршрутизации (вероятно, redis-backed) содержит список подписчиков по заданным категориям и обновляется в реальном времени.
Маршрутизатор, получая на вход пакет, берет из таблицы список подписчиков и раскидывает им данные по выбранному протоколу.

Поставщик данных.
Здесь могут быть как UDP вещание, так и реализация чего-то на Android (типа того же QUIC/WebSockets/TCP, если найдутся библиотеки и если вообще реально удерживать канал на "спящем" Андроиде).

Вопрос:
С условием что нужна невысокая latency, но real-time не обязателен, встречали ли вы библиотеки, позволяющие реализовать указанную маршрутизацию?
Посоветуйте решение
Привет,

у самого еще пазл не до конца в голове сложился, поэтому описание может быть технически не точным.
Пользовательская часть.
Система похожа на терминалы котировок. Пользователи через браузеры подключаются к серверу (облачный пул) и запрашивают одну или несколько категорий данных.
Поток данных идет мелкими пакетами и неравномерный во времени. Затраты на соединение слишком дорогие и думаю что удержание постоянного соединения — мой вариант.
Смотрю в сторону HTTP3/QUIC/WebTransport или WebSockets для реализации клиента на JS.

Облачная часть.
По сути, это группа софтовых маршрутизаторов, которые должны перекидывать потоки по заданным правилам.
Общая таблица маршрутизации (вероятно, redis-backed) содержит список подписчиков по заданным категориям и обновляется в реальном времени.
Маршрутизатор, получая на вход пакет, берет из таблицы список подписчиков и раскидывает им данные по выбранному протоколу.

Поставщик данных.
Здесь могут быть как UDP вещание, так и реализация чего-то на Android (типа того же QUIC/WebSockets/TCP, если найдутся библиотеки и если вообще реально удерживать канал на "спящем" Андроиде).

Вопрос:
С условием что нужна невысокая latency, но real-time не обязателен, встречали ли вы библиотеки, позволяющие реализовать указанную маршрутизацию?
Думал на базе nginx запилить что-то. Но может проще будет ZeroMQ или еще что подобное?