有人熟悉基于jdk7和nio2的http客户端,
使用的实现:asynchronoussocketchannel
我正在寻找基于nio2的实现,它可以同时扩展无限的、数千个http请求。
笔记:
请不要建议我使用基于nio1的实现,比如apache::asynchttpclient和jboss::netty框架
请不要给我建议一个基于分布式解决方案的解决方案,我正在寻找一个能够有效处理所有http请求的客户端。
谢谢!
最佳答案
我相信你错误地认为你必须使用nio2来扩大规模。请听我说!
NIO2是Java的IO的非阻塞版本。这意味着在nio2中编写高性能io更容易,因为您不需要启动和管理线程,因为您的大多数线程都在等待io。多线程编程是很棘手的,因此任何使它更容易的事情都是一个特性,因此nio2。
然而,作为一个图书馆用户,你不关心图书馆写起来有多难。现代的jvm可以处理很多线程,当熟练的程序员使用旧的io api时,它应该很强大。既然你是图书馆的用户,我建议你找最快的图书馆。
来自apache的httpclient是一个非常流行的库。我建议你和专家联系,问他们你的表现问题。我不是这方面的专家,所以我没有告诉你httpclient是最好的,我只是说现在还不算,和httpclient的人交谈将是一个很好的开始。
祝你好运