мы хотим ввести технологию push, и наш вариант использования выглядит следующим образом:
- огромное количество одновременных клиентов (несколько 100.000)
- низкая частота сообщений (~ 1 каждую минуту)
- небольшие данные (‹500 байт/сообщение)
- задержка менее 2 секунд
теперь у нас есть два конкурирующих решения:
мы могли бы создать настоящий сервер-кластер websocket/longpolling (мы будем оценивать атмосферу, playframework и socket.io на узле или vert.x); это привело бы к тому, что несколько 100 000 сокетов были бы активны одновременно, почти все из них бездействовали бы (за исключением 25% IE, постоянно восстанавливающих длинное соединение с опросом);
мы могли бы просто использовать статические файлы json за кэширующими веб-серверами (недействительными) в качестве конечной точки для классического опроса; это привело бы к нескольким 100 000 запросов в секунду от браузеров, почти на все из которых был бы получен ответ с кодом результата 304.
какое решение вы бы предложили? особенно по потреблению ресурсов: процессор, память, трафик, io?