对ServerBootstrap和Bootstrap使用相同的netty EventLoopGroup是一个好主意吗?
《指南》指出,诺曼·莫雷尔(Norman Maurer)有一个小建议,建议尽可能重复使用一个组 如果可以,请重新使用EventLoopGroup 在我的例子中,我编写了一个应用程序,将财务数据多路传输到一组连接的web套接字客户端。目前有三个引导,它们都使用一个单独的NioEventLoopGroup:对ServerBootstrap和Bootstrap使用相同的netty EventLoopGroup是一个好主意吗?,netty,nio,event-loop,Netty,Nio,Event Loop,《指南》指出,诺曼·莫雷尔(Norman Maurer)有一个小建议,建议尽可能重复使用一个组 如果可以,请重新使用EventLoopGroup 在我的例子中,我编写了一个应用程序,将财务数据多路传输到一组连接的web套接字客户端。目前有三个引导,它们都使用一个单独的NioEventLoopGroup: 1台服务器引导程序处理连接的web套接字 1个引导程序连接到服务器引导程序 2个用于不同tick数据源(远程服务器)的引导 阅读这张特定的幻灯片,我只需创建一次我的NioEventLoopG
- 1台服务器引导程序处理连接的web套接字李>
- 1个引导程序连接到服务器引导程序
- 2个用于不同tick数据源(远程服务器)的引导
很高兴有任何评论 一般来说,这完全没问题。只要你不在任何地方做任何阻塞操作。使用相同的
EventLoopGroup
可以节省一些内存,可能是一些CPU。这实际上取决于您的用例
但是,在您的情况下,我更喜欢使用2EventLoopGroup
。1个用于服务器引导,1个用于引导。这是因为使用高负载(10k web套接字似乎喜欢可能的高负载),您将更容易检测瓶颈。至少您可以确定问题不是来自引导连接
最近我这样说,为了找到CPU使用率高的原因,我不得不在相同的情况下将我的单个
EventLoopGroup
拆分为两个。如果我理解正确,您将使用相同的EventLoopGroup作为服务器boss和worker组:EventLoopGroup serverEventLoop=new NioEventLoopGroup();ServerBootstrap服务器=新的ServerBootstrap();server.group(serverEventLoop,serverEventLoop)
和一个单独的用于我的tick源引导的组:EventLoopGroup tickEventLoop=new NioEventLoopGroup();引导源=新引导();source.group(tickEventLoop)代码>否。老板和员工始终是独立的组-和用法-