使用不同的InboundHandler问题将同步消息写入同一个Netty Channel

时间:2016-07-10 07:34:03

标签: java multithreading sockets netty

我们正在使用多线程应用程序,并且希望避免基于同时请求的线性信道大小,例如30个开放信道提供的30个并行请求。因此,我们计划使用相同的通道编写多个消息,并向管道添加不同的入站通道处理程序。但是,在某些情况下,一个处理程序的响应消息由其他处理程序读取,并且存在请求/响应不匹配。是否有更好的方法来处理高交易/秒(TPS)而不实际创建那么多频道,因为它看起来不实用(我们的TPS可以达到100,所以创建100个频道可能很昂贵?!!)。

请建议我们如何处理请求/响应匹配?

1 个答案:

答案 0 :(得分:0)

在我们公司,每个请求都会添加一个全局长值,因为它是唯一的id。 并且响应返回相同的唯一ID,因此您可以知道一个请求的响应。 您可以通过AtomicLong类生成唯一ID。