Вопрос - а знает кто механизмы агрегирования запросов вебсокетов (или умеет ли подобное делать какой-нибудь nginx\haproxy ?).
Есть такой сценарий - очень много ws: соединений (10Млн) отправляют очень простые сообщения, не больше чем 4 сообщения в секунду. в каждом сообщении один float. Все это надо обрабатывать в realtime, но все что нужно - это усредненный float по всему потоку.
Первая проблема которую вижу - ни один сервер 10м открытых сокетов не держит, т.е. это нужно строить каскад из таких проксей. т.е. если одна нода держит 40-50к соединений, то для 1м нужно 20 нод а для 10 м - 200, но все эти потоки надо будет потом все равно свести в одно число. т.е. получаем что нода имеет 50к входящих соединений и например 50 исходящих, чтобы в каждом исходящем отправляла усредненную цифру по когорте из 1000 соединений . Downstream сервер уже получает 50x200 = 10000 входящих цифр и усредняет их также, выдавая одну.
Собственно вопрос в чем - на каких технологиях можно построить каскад таких нод ? тащить активный сервер типа ноды - не особо хочется, на конечном сервере elixir, но на ноды не уверен что он пойдет хорошо. Есть ли прокси сервера которые умеют группировать или балансировать входящие соединения, смотреть в websocket фремы и делать примитивные операции, а потом отправлять аккумулированные счетчики на другой адрес. Желательно с очень низкой задержкой. Все выглядит довольно примитивно с точки зрения логики, но масштабы в 10М немного напрягают....