Load balancing przetwarzania requestów w netty 4

0

Hej,

Mam pytanie o serwer pisany w netty

Bootstrap bootstrap = new Bootstrap()
                    .group(bossGroup)
                    .channel(NioDatagramChannel.class)
                    .handler(new ChannelInitializer<DatagramChannel>() {
                        @Override
                        protected void initChannel(DatagramChannel ch) throws Exception {
                            ch.pipeline()
                                    .addLast(workerGroup, "handler", new ServerHandler(workerGroup));
                        }
                    });
            System.out.println(Util.msg("Bootstrapping done"));
            ChannelFuture channelFuture = bootstrap.bind(PORT).syncUninterruptibly();
            System.out.println(Util.msg("Bound"));

            channelFuture.channel().closeFuture().addListener(new ChannelFutureListener() {
                @Override
                public void operationComplete(ChannelFuture future) throws Exception {
                    System.out.println(Util.msg("Server closing"));
                    future.channel().close();
                }
            }).sync();

Util.msg pisze wiadomość + wątek wykonujacy (taki ubogi logger).

Pytanie jest takie: dlaczego w netty4 nie można osiągnąć wykonania handlera przez różne wątki z pooli worker?
Zawsze używany jest tylko jeden... Oczywiście w handlerze można po prostu oddelegować wykonanie do jakiegoś executora ale nie o to przecież chodzi...
Czy ktoś jest obeznany z netty 4 (wiem ze w poprzednich wersjach był OrderedMemoryCostamExecutor i dało się to osiągnąć) i wie czemu teraz tak niedorzecnie to spieprzono?

0

Może wprowadzili koncepcje z nodejs EvenLoop

1 użytkowników online, w tym zalogowanych: 0, gości: 1