我想使用Java Netty为来自客户端的大量持久连接创建一个TCP服务器。换句话说,映像中有1000个客户端设备,并且它们都创建并维护与TCP服务器的持久连接。将会有合理的流量(大部分是文本行)在这些永久连接之间来回传递。如何确定NioEventLoopGroup的boss和worker组中使用的最佳线程数?具有持久连接的NioEventLoopGroup的线程数
我的理解是,当连接创建时,Netty会创建一个SimpleChannelInboundHandler对象来处理连接。当创建连接时,会调用处理程序channelActive方法,并且每次从客户端获取新消息时,都会调用messageReceived方法(或Netty 4.0.24中的channelRead0方法)。我的理解是否正确?如果我有很长的运行代码在messageReceived中运行,会发生什么情况 - 我是否需要在另一个线程(java.util.Thread)中启动此代码?如果我的messageReceived方法阻塞某些内容或需要很长时间才能完成,会发生什么情况?这是否会让Netty陷入瘫痪?
基本上我需要编写一个TCP套接字服务器,可以尽可能快地服务于大量的持久连接。是否有关于NioEventLoopGroup的线程数量以及如何在处理程序中使用任何线程的指导?
任何帮助将不胜感激。
太棒了,谢谢! – Marc 2014-11-24 18:43:09