Мне трудно вдаваться в точный подробно о том, что нужно сделать серверу (из-за NDA, а что нет), но этого должно быть достаточно, чтобы сказать, что ему нужно обрабатывать легкий двоичный протокол со многими одновременно подключенными пользователями , ~ 20.000, где мы имеем довольно приличную оценку.Как создать сервер, который может обрабатывать 20 000 согласованных соединений?
Обратите внимание, что клиенты не будут отправлять/получать постоянно, но мне нужно держать сокет открытым, потому что, когда клиенту нужен ответ, мы нуждаемся в нем как можно быстрее и не имеем времени для накладных расходов при открытии новый подключение каждый раз.
Протокол очень легкий, поэтому не будет большого количества данных, проходящих через провод. Основная проблема заключается в том, чтобы одновременно открывать 20 000 гнезд.
(я знаю, что спецификации немного нечеткие, но я действительно не могу вдаваться в подробности)
У меня есть довольно приличное представление о том, что то, что мне нужно делать, и какой тип оборудования, необходимого нам для сервера (ов), но я решил, что задаю здесь существующие проекты, технологии, языки (например, Erlang) и т. д., которые могли бы помочь мне в создании этого.
Как это можно достичь?
Этот вопрос на serverfault.com может помочь: http://serverfault.com/questions/69524/im-designing-a-system-to-handle-10000-tcp-connections-per-second-what-problems –
Потрясающие! ссылка на сайт http://www.kegel.com/c10k.html в этом вопросе кажется отличным чтением, спасибо! – thr