Я хочу создать высокопроизводительный сервер на C #, который мог бы обслуживать около 10 тысяч клиентов. Теперь я начал писать TcpServer с C #, и для каждого клиентского соединения я открываю новый поток. Я также использую один поток для приема подключений. Пока все хорошо, работает нормально.
Сервер должен десериализовать входящие объекты AMF, выполнить некоторую логику (например, сохранить позицию игрока) и отправить некоторый объект обратно (сериализация объектов). Я не беспокоюсь о сериализации / десериализации части atm.
Меня больше всего беспокоит то, что у меня будет много потоков с 10k клиентами, и я где-то читал, что ОС может содержать только несколько сотен потоков.
Есть ли какие-нибудь источники / статьи по написанию достойного асинхронного поточного сервера? Есть ли другие возможности или 10к потоков будут работать нормально? Я посмотрел в Google, но не смог найти много информации о шаблонах проектирования или способах, которые это четко объясняют