wyr*_*yrd 5 java protocol-buffers netty disruptor-pattern
我正在构建一个简单的响应服务器,它应该使用来自多个客户端的传入protobuf/protostuff消息,在它们上执行一些业务逻辑,并可能向其他消费者发送即发消息.我想在Netty中实现传输和解码部分.我的问题是:是否有任何关于将解码消息发布到Disruptor的环形缓冲区的性能还是由Disruptor提供的额外性能将被内部Netty调度否定?我应该为Netty提供两个线程(一个用于"接受"而另一个用于"连接"组)或者只有一个更好?也许,我应该在Netty的处理程序中按长度字段拆分消息,并在Disruptor的处理程序中执行解码?
小智 5
要看 ;)
破坏程序允许您解耦各种不同的操作,并可能并行执行它们.所以问题是你的业务逻辑有多昂贵,你的工作量有多突破?Disruptor用于在线程之间传输数据,特别是可能以不同的消息速率运行的线程.即它允许生产线程在消费线程忙于处理最后一条消息时产生一连串消息.
例如,如果您还希望将消息持久保存到数据库以及向前发送结果,则可以将消息发布到"出站"环形缓冲区,并使用您的网络代码以及数据库持久性消耗.
您在Netty中花费的时间越少,eventloop您可以应对的客户就越多,或者传输级别的消息量就越大.
| 归档时间: |
|
| 查看次数: |
1787 次 |
| 最近记录: |