Connector和Engine是Tomcat最核心的两个组件。Servlet 3的异步处理就是由Connector控制的。
Tomcat在收到HTTP请求后的处理流程
- 容器负责接收并解析请求为HttpServletRequest。
- 然后交给Servlet进行业务处理。
- 最后通过HttpServletResponse进行业务处理。
在Servlet 2.0规范中,所有这些处理(从接收请求,业务处理,以及响应)都是在一个线程中同步进行的。
Servlet3异步化模型
Tomcat 6没有实现Servlet 3规范,Tomcat 7实现了Servlet 3规范。
异步化的好处
- 基于NIO能处理更高的并发数。(NIO?基于IO多路复用能处理较高的并发数)
- 请求解析线程和业务处理的线程池隔离。
- 根据业务重要性对业务分级,并分级线程池。
- 对业务线程池进行监控、运维、降级等处理。