网络线程分布

时间:2013-03-20 12:34:27

标签: netty

Channel附加到单EventLoop Channel.Unsafe#register EventExecutorGroup#next。注册通过ChannelHandlerContext中的模运算进行分配。 Channel绑定到单个线程 - 通常与{{1}}相同的线程。

频道可能会不均匀地取消注册,或者工作负载在这些频道之间分布不均匀。有可能让一个线程处理整个工作负载。

是否有防止这种情况的模式或这是一个不可避免的结构性问题?

1 个答案:

答案 0 :(得分:0)

如果使用参数1构造NioEventLoopGroup,则可以强制仅使用一个Thread。除此之外,我认为我们只能通过计算EventLoop上有多少个频道并根据此选择下一个频道来改进它。但即使这可能也不是一个好方法,因为一些频道可能比其他频道做更重的工作。