最近在学习Tomcat,在《Tomcat架构解析》中讲解清楚,特摘录!
架构图

组件说明
-
Server
表示整个Servlet容器,因此Tomcat运行环境中只有唯一一个Server实例
-
Service
Service表示一个或多个的Connector的集合,这些Connector共享同一个Containter来处理其请求。在同一个Tomcat实例内可以包含任意多个Service实例,他们彼此独立
-
Connector
即Tomcat链接器,用于监听并转化Socket请求,同时将读取的Socket请求由Container处理,支持不同协议以及不同的I/O方式
-
Container
Container表示能够执行客户端请求并返回响应的一类对象。在Tomcat中存在不同级别的容器:Engine、Host、Context、Wrapper。
-
Engine
Engine表示整个Servlet引擎。在Tomcat中,Engine为最高层级的容器对象。尽管Engine不是直接处理请求的容器,却是获取目标容器的入口。
-
Host
Host作为一类容器,表示Servlet引擎(即Engine)中的虚拟机,与一个服务器的网络有关,如域名等。客户端可以使用这个网络名连接服务器,这个名称必要要在DNS服务器上注册。
-
Context
Context作为一类容器,用于表示ServletContext,在Servlet规范中,一个ServletContext即表示一个独立的Web应用。
-
Wrapper
Wrapper作为一类容器,用于表示Web应用中定义的Servlet
-
Executor
表示Tomcat组件间可以共享的线程池
Tomcat启动时序

请求处理过程
