Apache Tomcat
开源的 轻量级Web服务器 和 Servlet容器。它实现了Java EE(现Jakarta EE)中的 Servlet、JSP(JavaServer Pages)等核心规范,用于部署和运行Java Web应用程序。Spring Boot内置的默认Servlet容器(默认使用Tomcat)。
核心功能
- Servlet容器 执行Servlet(Java编写的服务器端程序)。
- JSP引擎 将JSP页面动态编译为Servlet并执行。
- HTTP服务器 处理HTTP请求和响应(也可与其他Web服务器如Apache HTTPD、Nginx集成)。
组件
- Catalina:Servlet容器,负责解析Servlet/JSP。
- Coyote:HTTP连接器,处理底层网络通信(支持HTTP/1.1、HTTP/2等)。
- Jasper:JSP引擎,编译JSP为Servlet。
- Cluster:提供负载均衡和故障转移支持(高可用性)。
- Realm:安全认证与授权模块。
版本
- Tomcat 10.x(支持Jakarta EE 9+,包命名从
javax.*
改为jakarta.*
)。 - Tomcat 9.x(支持Java EE 8,Servlet 4.0)。
- Tomcat 8.x(支持Servlet 3.1,已逐步淘汰)。
特性 | Netty | Tomcat | Jetty | Undertow |
---|---|---|---|---|
架构 | 异步非阻塞 | 同步阻塞 | 异步非阻塞 | 异步非阻塞 |
内存占用 | 最低 | 中等 | 较低 | 最低 |
并发能力 | 最高 | 良好 | 优秀 | 优秀 |
延迟 | 最低 | 中等 | 低 | 低 |
适用场景 | 高并发微服务 | 传统Web应用 | 实时应用 | 高性能API |