关于tomcat的Advanced IO

前几天对某个团队分享tomcat的时候,有人提到tomcat早前也有aio的概念,我以为是基于java7的NIO2,但对方说是早期版本就有的。我只对7比较熟悉,之前的版本不太了解,没有确认。今天google了一下估计是理解错误,把tomcat里的Advanced IO误以为Async IO

Adavanced IO是指APR或NIO模式下可以提供一些扩展,主要是通过Comet以及sendfile实现异步IO的效果。Comet是个过渡技术,相比websocketspdy有些过时。sendfile对于较大的静态文件比较有用,但不支持AJP协议。在APR和NIO下实现方式也不同,APR模式下是有一个专门的线程负责,通过jni调用tcnative里的sendfile本地实现;而NIO模式下则是通过FileChannel.transferTo来实现。

Leave a Reply

Your email address will not be published. Required fields are marked *