Netty 连接池
我想知道哪些选项或如何在 netty 中实现客户端连接池。
我还没有实现这个,所以这只是一些有根据的猜测,但我会考虑结合以下内容:
通用对象池将支持您创建连接缓存,以远程套接字地址作为键,因此您可能会发出如下请求:
pool.borrowObject("www.google.com:80");
不确定通道组,除了它是一次性针对所有包含的通道发出指令的好方法(例如 close()),因此让池的PooledObjectFactory始终将其创建的所有通道插入到频道组也是如此。它是自我维护的,因为通道在关闭时会从组中弹出。
在许多情况下,Commons Pooling 对我来说都非常有用,尽管主要是在我试图汇集和重用昂贵的资源时。这是您查看客户端连接的方式吗?
2017 年 8 月 30 日更新:
在 Netty 4.x 中执行此操作的首选方法是使用 ChannelPool。Netty 4.0:通道池 Netty 4.1:通道池