我有3个异步服务器和客户端相互连接,就像一个链。
请求通过3系统,如下所示
=> System 1 => System 2 => System 3 =>
以及回应
=> System 3 => System 2 => System 1 =>
我在每个系统中都有一个逻辑,以便将响应与正确的请求连接起来。根据这种逻辑,我设法以不同的顺序处理响应和请求。
今天,我只有一个系统之间的连接。我注意到只使用一个线程,而且性能不好.:(
是否有任何配置强制每个连接使用多个线程?这是解决问题的正确方法吗?或者我必须在每个系统之间建立一个连接池?,是否有某种网络连接,或者我必须自己实现它?
我用的是netty 5。
非常感谢。
发布于 2014-11-09 23:05:08
有关线程模型的良好一般描述,请参见Netty wiki。总之,Netty 4.0+不会在信道处理操作中引入并发性。查看大多数netty示例,您就会注意到由于这个原因缺乏同步。同时在通道上操作将给框架和接口带来更多的复杂性,以便与框架进行交互。
我认为问题是,您的用例支持在多个通道之间进行拆分吗?这取决于许多因素,但是如果您的算法和数据支持并行化,那么您可能会看到总体吞吐量的提高。
Netty确实提供了一个ChannelGroup,但我不确定这是否符合您的使用程序。
https://stackoverflow.com/questions/26824517
复制相似问题