我对如何处理 netty (3.6.2.FINAL) 和 keep-alive=true 中的大量连接感到困惑。
对于作为服务器端连接器的 netty 客户端的工作,对另一个服务进行 http 调用,它希望始终保持连接打开以提高性能(keep-alive=true)。
问题:打开通道的数量有一个硬性限制,之后客户端在尝试打开通道时会挂起。为什么没有异常只是挂起?这是通道超时方面的设置吗?
我似乎无法理解 Netty 对工作线程内连接的整体管理:
使用阻塞的写入/读取客户端 ChannelHandler(http 请求/响应),如何检测连接池为空?
处理程序可以接收 ChannelEvent(s),但没有关于连接池中可用的总数(无论如何它非常不确定)。如果通道未打开,考虑到它在工作线程中运行,处理程序启动打开一个新通道是否有意义?
- 但是如果连接池用完了,你怎么去清理一些空闲的连接(在处理程序内)?