NIO连接器&异步servlet& Async IO在高并发性下工作得更好

时间:2016-11-21 09:18:14

标签: spring-mvc tomcat tomcat7 httpclient

情况如下:

  1. 一周内有几分钟,每分钟都可以达到1M req / s。
  2. 我们有大约100个实例来保存请求。
  3. 每个实例都有一个spring dispatcher servlet来处理请求,逻辑非常简单,转换请求并将它们发送给其他服务。这些服务将需要大约1s avg来处理翻译的请求。因此,这些实例目前以低CPU运行。
  4. 我们正在使用带有8192 maxConnection,300接受计数和同步servlet的apr连接器,同步httpclient来调用其他服务。
  5. 现在,我们正在遭受沉重的超时。所以,我们有三个选择:

    • NIO连接器
    • 异步servlet(使用DeferedResult)
    • 异步IO(即AsyncHttpClient)。在http请求完成后设置延迟结果

    这些选项能否适用于我们的情况?或者,更好的主意?

0 个答案:

没有答案