Я пытаюсь обвести голову вокруг создания асинхронного (не блокирующего) HTTP-сервера с использованием java NIO. В настоящее время я имею реализацию threadpool и хотел бы сделать ее в Event Driven с помощью одного потока.Сервер, управляемый событиями, используя Java NIO
Как работает сервер, управляемый событиями? Нужны ли нам потоки?
Я читал на каналах, буферах и селекторах Java. Итак, после создания serverSocketChannel и селектора и прослушивания запросов, мне нужно передать запрос другим потокам, чтобы они могли обрабатывать их и обслуживать запрос. Если да, то как он отличается от реализации threadpool.
И если я не создаю больше потоков, которые могут обрабатывать запрос, как один поток может продолжать прослушивать запросы и обрабатывать их. Я говорю SCALABLE, скажем, 1 миллион запросов в общей сложности и 1000 поступающих одновременно.
Вы видели [Netty] (http://netty.io/)? Если нет, я не могу рекомендовать библиотеку достаточно высоко для асинхронной сети. Вам все равно придется обернуть вокруг асинхронного ввода-вывода как концепцию, но Netty поможет вам понять, что ваш дизайн более ясен, на мой взгляд. – Dev
Спасибо, я попробую. Но сейчас я должен сделать это, не используя никакой библиотеки. Поэтому я просто искал концепцию, чтобы начать. –