架构概述

概述

本页提供了 Tomcat 服务器架构的概述。

术语

服务器

在 Tomcat 世界中,服务器代表整个容器。Tomcat 提供了一个 服务器接口 的默认实现,用户很少自定义该接口。

服务

服务是一个中间组件,它存在于服务器中,并将一个或多个连接器连接到一个引擎。服务元素很少由用户自定义,因为默认实现简单且足够:服务接口

引擎

引擎表示特定服务的请求处理管道。由于服务可能有多个连接器,因此引擎接收并处理来自这些连接器的所有请求,并将响应返回给适当的连接器以传输给客户端。可以实现 引擎接口 来提供自定义引擎,但这并不常见。

请注意,引擎可以通过 jvmRoute 参数用于 Tomcat 服务器集群。有关更多信息,请阅读集群文档。

主机

主机是将网络名称(例如 www.yourcompany.com)与 Tomcat 服务器关联起来。一个引擎可能包含多个主机,主机元素还支持网络别名,例如 yourcompany.com 和 abc.yourcompany.com。用户很少创建自定义 主机,因为 标准主机实现 提供了大量附加功能。

连接器

连接器处理与客户端的通信。Tomcat 提供了多个连接器。其中包括 HTTP 连接器,它用于大多数 HTTP 流量,尤其是在将 Tomcat 作为独立服务器运行时,以及 AJP 连接器,它在将 Tomcat 连接到 Web 服务器(例如 Apache HTTPD 服务器)时实现 AJP 协议。创建自定义连接器是一项艰巨的任务。

上下文

上下文表示 Web 应用程序。一个主机可能包含多个上下文,每个上下文都有一个唯一的路径。上下文接口可以实现以创建自定义上下文,但这很少见,因为 标准上下文 提供了大量附加功能。

评论

Tomcat 被设计为 Servlet 规范的快速高效的实现。Tomcat 作为此规范的参考实现而诞生,并且始终严格遵守该规范。与此同时,Tomcat 的性能也受到了极大的关注,现在它与其他 servlet 容器(包括商业容器)处于同等水平。

在 Tomcat 的最新版本中(主要从 Tomcat 5 开始),我们已经开始努力通过 JMX 管理 Tomcat 的更多方面。此外,Manager 和 Admin Web 应用程序得到了极大的增强和改进。随着产品成熟和规范变得更加稳定,可管理性是我们的首要关注领域。