Tomcat 作为最常见的 Servlet 容器,在 6.x 版本就支持了 NIO 模式的 Connector 和 Reactor 模式相比有什么特殊之处吗?首先来看下面的表格:
Java Nio Connector NIO | Java Nio2 Connector NIO2 | APR/native Connector APR | |
---|---|---|---|
Classname | Http11NioProtocol |
Http11Nio2Protocol |
Http11AprProtocol |
Tomcat Version | since 6.0.x | since 8.0.x | since 5.5.x |
Support Polling | YES | YES | YES |
Polling Size | maxConnections |
maxConnections |
maxConnections |
Read Request Headers | Non Blocking | Non Blocking | Non Blocking |
Read Request Body | Blocking | Blocking | Blocking |
Write Response Headers and Body | Blocking | Blocking | Blocking |
Wait for next Request | Non Blocking | Non Blocking | Non Blocking |
SSL Support | Java SSL or OpenSSL | Java SSL or OpenSSL | OpenSSL |
SSL Handshake | Non blocking | Non blocking | Blocking |
Max Connections | maxConnections |
maxConnections |
maxConnections |