带有NIO2的HTTP客户端

时间:2011-09-19 19:41:33

标签: java http networking nio java-7

熟悉基于JDK7和NIO2的HTTP客户端, 使用的实现:AsynchronousSocketChannel

我正在寻找基于NIO2的实现,并且可以同时扩展无限的,数千个HTTP请求。

注意:

  1. 请不要建议我基于NIO1的实现,如Apache :: AsyncHTTPClient和JBOSS :: Netty框架

  2. 请不要建议我基于分发解决方案的解决方案,我正在寻找一个能够有效处理所有HTTP请求的客户端。

  3. 谢谢!

2 个答案:

答案 0 :(得分:4)

我相信你错误地认为你必须使用NIO2来扩大规模。请听!

NIO2是Java IO的非阻塞版本。这意味着在NIO2中编写高性能io更容易,因为您无需启动和管理线程,因为大多数线程都只是在等待IO。多线程编程很棘手,因此任何使其更容易的功能都是一个功能,因此NIO2。

但是,作为库用户,库的编写难度不是您的关注点。现代JVM可以处理 lot 线程,而老版io API在熟练的程序员使用时应该是强大的。由于您是该库的用户,我建议您找到最快的库。

来自Apache的HTTPClient是一个非常受欢迎的库。我建议你与专家联系,并向他们询问你的表现问题。我不是这方面的专家,所以我不是告诉你HTTPClient是最好的,我只是说不要把它算出去,和HTTPClient人交谈将是一个好的起点。

祝你好运

答案 1 :(得分:4)

我建议您查看AsyncHttpClient。它是由Grizzy为Sun编写的人编写的,现在适用于Sonatype。