Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 异步InetSocketAddress等效?_Java_Networking_Asynchronous_Dns_Nio - Fatal编程技术网

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解析。就像任何其他情况一样,您应该尝试更简单的解决方案(线程池执行器),只有在不够好时才进行更改。