作者|知视
本文主要介绍Tomcat的整体架构
说到Tomcat大家肯定不陌生,今天我们来聊聊Tomcat,聊聊Tomcat的架构设计。
Tomcat的架构设计,就像俄罗斯套娃一样,一层套一层。如图,就是tomcat整体架构图。
Tomcat架构设计图
Tomcat主要有两部分组成:连接器Connector和容器Container。
所谓连接器就是负责接收和解析请求,然后转发给容器。
容器代表的是一类组件,它有很多层。
其中最大的是引擎Engine,它代表一个Servlet引擎。它主要的功能是将传入的请求委托给适当的虚拟机Host处理。
引擎Engine的下一层是Host,它代表一个虚拟机。Tomcat自带一个localhost的虚拟机。虚拟机有两个重要的概念域名和根目录。
为了提供对多个域名的服务,通过配置Host就可以添加虚拟机。每个虚拟机Host下可以包含多个上下文Context。
虚拟机Host的下一层是上下文Context,一个Context代表一个Web应用,就是我们平常开发的一套Web应用程序。上下文是应用自定义代码(servlet、jsp)所存活的地方。
其实,在Context内部还有一层包装器Wrapper,包装器是context容器的子容器。一个Wrapper对应一个Servlet。在一个Web应用中会包含多个Servlet,来处理不同的请求。所以一个Context内部会有多个对应的包装器Wrapper。
为了很好地统一管理连接器和容器,Tomcat提供了另外两个组件:服务器Server和服务Service。
服务器Server代表完整的Tomcat实例,在Java虚拟机中它是一个单实例,主要是用来管理各个服务Service组件的生命周期的。服务器Server中可以有多个服务Service,每个服务Service都是相互独立的。
服务器Server是Tomcat中的顶级组件。可以这样说,它掌握着整个Tomcat的生死大权。
前面说到,Server代表Tomcat实例本身。那么,Service则代表具体的服务,负责对外提供服务。每个Service都是相互独立的,一个Service组件中可以有多个Connector和一个Engine,这样一来,对应的多个Connector的请求就只能由一个Engine处理。
那么,请求是如何到达Servlet的?
Tomcat结构图
页面更新:2024-03-28
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号