美文网首页WebTomcat
Tomcat 总体架构

Tomcat 总体架构

作者: 晴天哥_王志 | 来源:发表于2018-10-11 20:17 被阅读108次

开篇

 首先一定要先感谢《Tomcat架构解析》一书的作者刘光瑞,对于我这样的新手来说,这本书关于Tomcat总体架构的介绍能够让我快速的了解整个架构的设计背景,达到了循序渐进的目的,在这里非常推荐新手入手一本。

本篇博文的图片都是截取自《Tomcat架构解析》一书,为了能够截图我下载了这书的电子版,不过我也是身体力行的购买正版书在支持的,也非常希望技术人员能够尊重原创的成果。

 最后这个章节主要是介绍Tomcat整体架构的,整体内容主要在于模块介绍以及关联,希望通过这个章节能够串通所有模块让大家有个整体的架构

Tomcat总体架构介绍

整体架构

<Server>
    <Service>
        <Connector />
        <Connector />
        <Engine>
            <Host>
                <Context /><!-- 现在常常使用自动部署,不推荐配置Context元素,Context小节有详细说明 -->
            </Host>
        </Engine>
    </Service>
</Server>

说明:
Tomcat的Server配置主要包括Server、Service、Connector、Engine、Host、Conetext,整体的架构如上图,各个组件的功能介绍如下:
  • Server:一个Server包含多个Service,一个Service维护多个Connector和一个Container(Tomcat将Container重命名为Engine,用以表示servlet引擎)。
  • Connector:负责开启Socket监听客户端请求。
  • Engine:Tomcat将Container重命名为Engine,用以表示servlet引擎,包含多个Host。
  • Host:提供虚拟机主机功能,一个Engine下包含多个虚拟主机功能。
  • Context:用以表示一个web应用,并且一个Engine可以包含多个Context。
  • Wrapper:Tomcat将servlet定义为Wrapper。

整体架构 - 增加生命周期


说明:
  • 各组件模块实现Lifecycle接口,用于各组件生命周期的管理。
  • Container接口提供子容器的添加,Engine&Host&Context&Wrapper均实现该接口。

整体架构 - 增加职责链


说明:
  • Tomcat采用职责链的模式来实现客户端请求的处理
  • Tomcat定义了PipeLine(管道)和Valve(阈)两个接口,前者用于构造职责链,后者代表职责链上的每个处理器。

整体架构 - Connector细化


说明:
  • ProtocolHandler表示协议处理器,针对不同的协议和IO方式提供不同的实现。
  • AbstractEndpoint负责启动线程监听端口,接收请求后调用Processor进行数据读取。
  • Mapper维护容器映射关系,同时按照映射规则查找容器。
  • MapperListener用于在容器状态发生变更时,注册或者取消对应的容器映射信息。
  • CoyoteAdapter实现了Connector和Mapper和Container的解耦,

整体架构 - 增加线程池


说明:
  • Tomcat提供了Executor接口来表示一个可以在组件间共享的线程池。
  • Endpoint在接收到客户端请求后,会创建请求处理对象并交由线程池处理。

整体架构 - 组件功能介绍

Tomcat功能组件介绍 Tomcat功能组件介绍

相关文章

  • Tomcat 总体架构

    开篇  首先一定要先感谢《Tomcat架构解析》一书的作者刘光瑞,对于我这样的新手来说,这本书关于Tomcat总体...

  • Jsp&Servlet工作原理详解(基于Tomcat容器

    Tomcat概述 1. Tomcat的总体架构 Tomcat启动server服务器对外提供Service服务,Co...

  • Tomcat NIO线程模型深入分析

    1.Tomcat总体架构 Tomcat有Connector和Container两大核心组件,Connector组件...

  • Tomcat架构设计-总体架构

    1 Tomcat核心功能 我们知道如果要设计一个系统,首先是要了解需求。 Tomcat 要实现本质是2个核心功能 ...

  • Tomcat架构解析

    1 Tomcat总体架构 Tomcat作为Servlet服务器,其结构非常复杂,但是Tomcat设计的非常的模块化...

  • Tomcat 总体架构-源码组织

    开篇  这篇文章主要是将Tomcat的架构图从源码角度解析了一下,基本上就是把图和源码串联起来。 Tomcat 总...

  • Tomcat总体架构图

    本人整理的Tomcat总体架构图,有需要原图的可以登录ProcessOn进行克隆,克隆地址为:https://ww...

  • Tomcat源码解析-整体流程介绍

    一、架构 下面谈谈我对Tomcat架构的理解 总体架构: 1、面向组件架构 2、基于JMX 3、事件侦听 1)面向...

  • Tomcat整体架构简析

    一、Tomcat 容器的总体架构 Tomcat 容器主要用来提供servlet运行环境,对其生命期进行管理,从而提...

  • Tomcat 体系架构

    架构分析 虽然网上对于tomcat架构描述已经十分详细了,但在这里还是要先讲讲 架构 总体设计 先来看Connec...

网友评论

    本文标题:Tomcat 总体架构

    本文链接:https://www.haomeiwen.com/subject/lmivaftx.html