Tomcat有哪几种Connector运行模式(优化)?
Tomcat有哪几种Connector运行模式(优化)?
下面,我们先大致了解Tomcat Connector的三种运行模式。
●BIO: 同步并阻塞 一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。Tomcat7或以下,在Linux系统中默认使用这种方式。
配制项:protocol="HTTP/1.1"
●NIO: 同步非阻塞I0 利用Java的异步I0处理,可以通过少量的线程处理大量的请求,可以复用同一个线程处理多个connection(多路复用)。
Tomcat8在Linux系统中默认使用这种方式。
Tomcat7必须修改Connector配置来启动。
配制项:protocol="org.apache.coyote.http11.Http1 1NioProtocol"
备注:我们常用的etty, Mina, ZooKeeper等都是基于java nio实现.
●APR: 即Apache Portable Runtime,从操作系统层面解决io阻塞问题。AI0方式,异步非阻塞l0(ava NIO2又叫AIO)主要与NIO的区别主要是操作系统的底层区别.可以做个比喻:比作快递,NIO就是网购后要自己到官网查下快递是否已经到了(可能是多次),然后自己去取快递; AIO就是快递员送货上门了(不用关注快递进度)。
配制项:protocol="org.apache.coyote.http11.Http1 1AprProtocol"
备注:需在本地服务器安装APR库。Tomcat7或Tomcat8在Win7或以 上的系统中启动默认使用这种方式。Linux如果安装 了apr和native, Tomcat直接启动就支持apr。
在 Java大蜗牛 还有更多优质的干货文章,欢迎分享给其它同学!
扫码关注【Java大蜗牛】 第一时间收到更新 咱们下期见! 感谢阅读,帮忙点个赞 + 在看吧