我写下一个过程, 它必须连接(并维持生命)到数个(百个)边远的同龄人, 并管理信息/控制他们。
我制作了两个版本的软件:第一个是经典的“全线连接”模型,第二个是标准 java NIO 和选择器(减少线条分配,但有问题 ) 。 然后,我环顾四周发现Netty在多数情况下可以增加很多,我开始使用第三个软件。 我的目标是保持资源使用率相当低,保持速度。
Once written the pipeline factory with custom events and dynamic handler switching, I stopped on the most superficial part: its allocation.
All the examples I read use a single client with single connection, so I got the doubt: I set up a ChannelFactory
and a PipelineFactory
, so every (new ClientBootstrap(factory)).connect(address)
makes a new channel with a new pipeline. Is it possible to make a shared pipeline and defer business logic to a thread-pool?
If so, how?
使用标准 java NIO I, 利用选择器, 利用两个小型小线条池( 线条 & lt; 远程对等器) ; 然而, 回收读取听觉频道写作时遇到了麻烦 。
通信应当通过单一的频道进行,该频道可以接收远程对等点的定时信息或进行三向控制(指令-ack-ok)。
第二手:一旦事件到达最后一个处理者,会怎样?是在那里我提取它还是我可以从任何一点提取信息?