Я хотел бы использовать Java Netty для создания TCP-сервера для большого количества постоянных подключений от клиентов. Другими словами, изображение, в котором есть 1000 клиентских устройств, и все они создают и поддерживают постоянное соединение с TCP-сервером. Там будет разумный объем трафика (в основном текстовые строки), которые идут взад и вперед по каждому из этих постоянных соединений. Как определить максимальное количество потоков для использования в группах босса и рабочих групп для NioEventLoopGroup?Количество потоков для NioEventLoopGroup с постоянными соединениями
Я понимаю, что при создании соединения Netty создает объект SimpleChannelInboundHandler для обработки соединения. Когда соединение создается, вызывается метод handler channelActive и каждый раз, когда он получает новое сообщение от клиента, метод messageReceived получает вызов (или метод channelRead0 в Netty 4.0.24). Правильно ли я понимаю? Что произойдет, если у меня есть длинный код для запуска в messageReceived - мне нужно запустить этот код в еще одном потоке (java.util.Thread)? Что произойдет, если мой метод messageReceived блокирует что-то или занимает много времени? Это приводит к остановке Netty?
В основном мне нужно написать сервер сокетов TCP, который может обслуживать большое количество постоянных подключений как можно быстрее. Существует ли какое-либо руководство по количеству потоков для NioEventLoopGroup и о том, как использовать любые потоки внутри обработчика?
Любая помощь была бы принята с благодарностью.
Удивительный, спасибо! – Marc