Tomct总体架构(二)
1、总体架构:
2、组件说明:
组件名称 | 说明 |
Server | 表示整个servlet容器,因此tomcat运行环境中只有唯一一个server实例 |
Service | service表示一个或多个connector的集合,这些connector共享同一个container来处理其请求。在同一个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 |
Excutor | 表示tomcat组件间可以共享的线程池 |
3、协议及I/O
在8.0之前,tomcat默认采用的I/O方式为BIO,之后改为NIO。