Сервер:
EventLoopGroup bossGroup = new NioEventLoopGroup(1);
EventLoopGroup workerGroup = new NioEventLoopGroup(8);
try {
ServerBootstrap b = new ServerBootstrap();
b.option(ChannelOption.SO_BACKLOG, 1024);
b.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
Клиент:
Bootstrap b = new Bootstrap();
b.group(workerGroup)
.channel(NioSocketChannel.class)
...
clientChannel = b.connect(host, port);
Когда обработчик канала сервера read
пакета, он отправляет запрос на другой сервер через clientChannel
,
cleintChannel.writeAndFlush(msg->newMsg());
Однако, как я и ожидал, обработчик clientChannel read
log печатает свой поток ввода-вывода ntLoopGroup-5-1
, а обработчик serverChannel read
log печатает свой поток ввода-вывода ntLoopGroup-5-2
.
Я надеялся, что при использовании netty shared eventLoop у программы может быть более низкая скорость переключения контекста.