我想使用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