Tomcat架构设计

188 阅读1分钟

最近在学习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启动时序

请求处理过程