Я хочу поддерживать около 10 000 одновременных HTTP-клиентов на небольшом кластере машин (как можно меньше). Я хотел бы поддерживать соединение с каждым клиентом, пока пользователь использует приложение, чтобы сервер мог отправлять обновления.
Я считаю, что асинхронный ввод-вывод часто рекомендуется для таких долгоживущих соединений, чтобы избежать бездействия большого количества потоков. Но в чем проблема с бездействующими потоками? Я считаю, что с многопоточной моделью легче работать мысленно, но я не хочу делать что-то, что вызовет у меня большие головные боли. Думаю, мне придется поэкспериментировать, но мне интересно, знает ли кто-нибудь о каких-либо предыдущих экспериментах в этом направлении?