Java 异步InetSocketAddress等效?
我需要一个等价于Java 异步InetSocketAddress等效?,java,networking,asynchronous,dns,nio,Java,Networking,Asynchronous,Dns,Nio,我需要一个等价于java.net.InetSocketAddress,它可以异步解析主机名。我正在开发一个轮询程序,该程序必须每五分钟无限期地解析并连接25000多台服务器,而无需占用大量内存或CPU 这些服务器是从数据库中选择的,通过循环,并通过调度连接。Netty所做的一切都是高效和令人满意的,但是循环并创建InetSocketAddress实例以传递给Netty的线程正受到DNS解析的限制(因为在初始化InetSocketAddress时会查找主机名)。我的临时解决方案是创建一个执行DNS
java.net.InetSocketAddress
,它可以异步解析主机名。我正在开发一个轮询程序,该程序必须每五分钟无限期地解析并连接25000多台服务器,而无需占用大量内存或CPU
这些服务器是从数据库中选择的,通过循环,并通过调度连接。Netty所做的一切都是高效和令人满意的,但是循环并创建InetSocketAddress
实例以传递给Netty的线程正受到DNS解析的限制(因为在初始化InetSocketAddress
时会查找主机名)。我的临时解决方案是创建一个执行DNS解析的线程池,但我更喜欢一个实际的异步DNS解析库
谢谢 您希望看到“异步DNS解析库”和手动管理的线程池之间有什么区别?可能没有好消息:Arash Shahkar:吞吐量更好,内存使用更少可能所有这些都已经在链接中说过了。然而,我能想到的最通用和高性能的解决方案是在NIO之上手动实现DNS解析。就像任何其他情况一样,您应该尝试更简单的解决方案(线程池执行器),只有在不够好时才进行更改。