Norman Maurer有一个小Netty Best Practice Guide建议尽可能重复使用NioEventLoopGroup,更确切地说,指南说明
如果可以,请重复使用EventLoopGroup!
就我而言,我编写了一个应用程序,将财务报表数据多路复用到一堆连接的Web套接字客户端。目前有三个bootstrap,目前它们都使用单独的NioEventLoopGroup:
阅读这个特定的幻灯片,我只需创建一次NioEventLoopGroup并将其用于所有列出的BootStraps。
问题是,我不知道这是不是一个好主意,也不知道是否有任何限制。引用声称“重复使用......如果可以的话!”但我不知道这句话所暗示的局限性。
说明一些数字:ServerBootStrap应该处理~10k连接的Web套接字客户端。数据源将保持不变,因此与远程服务器建立2个保持活动连接。
对任何评论感到高兴!
答案 0 :(得分:2)
总的来说,这完全没问题。只要您不在任何地方进行任何阻止操作。使用相同的EventLoopGroup
可以节省一些内存,也许是一些CPU。这实际上取决于您的使用案例。
但是,在您的情况下,我更愿意选择2 EventLoopGroup
。 1表示ServerBootstrap,1表示Bootstrap。这是因为高负载(并且10k网络套接字似乎可能具有高负载),您将更容易检测到瓶颈。至少你可以确定问题不是来自Bootstrap连接。
我说这是最近我必须将我的单EventLoopGroup
分成两个完全相同的情况才能找到高CPU使用率的原因。