Tomcat

Tomcat服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选

除此之外,Apache Tomcat还可以很容易与Apache Http Server.Nginx等知名的Web服务器集成,以实现负载均衡和集群化部署。现在已经被广泛用于开发、测试环境,甚至大规模、高并发的互联网产品部署。

目前用Tomcat的人以及对Tomcat 架构感兴趣的技术人员越来越多。小编最开始接触Tomcat的时候连它的两大组件Connector与Container都搞不清楚(是菜了点,勿喷)。

目前讲Tomcat的资料五花八门,但真正真实地、系统性地讲解到Tomcat的最新架构的资料却是少之又少,而下面这份Alibaba技术官在Github上甩出的Tomcat内部手册却真正刷新了我的认知。它涉及了Tomcat的代码设计,却不仅仅是围绕代码进行分析。它涉及了Tomcat的使用方式,却不仅仅是对其配置方式进行简单说明。对于每个技术点相关的规范、方案的考量及隐含问题、如何使用等,点进行了系统的阐述。

这份文档主要从三个方面来解析Tomcat

基本设计

架构及工作原理

各个模块的特性及使用方式

章节划分如下,大家可以根据自己的背景和兴趣挑选相应的章节进行学习。

由于这份文档将近400页,篇幅限制不能将所有内容展示出来,如果需要有需要这份文档的老哥,关注我支持一下,为了不影响大家的阅读体验,我把获取方式放在了文末!!!

第1章Tomcat介绍

Tomcat简介

Tomcat历史

Tomcat许可

安装和启动

Tomcat目录结构

Tomcat 8.5之后的新特性

第2章Tomcat总体架构

总体设计

Server

Connector和Container

Container设计

Lifecycle

pipeline和Valve

Connector设计

Executor

Bootstrap和Catalina

Tomcat启动

请求处理

类加载器

第3章Catalina

什么是Catalina

Digester

创建Server

Web应用加载

Web请求处理

DefaultServlet和JspServlet

第4章Coyote

什么是Coyote

Web请求处理

HTTP

AJP

HTTP/2.0

I/O

第5章Jasper

Jasper简介

JSP编译方式

运行时编译

预编译

JSP编译原理

第6章Tomcat配置管理

JVM配置

服务器配置

Web应用配置

Web应用过滤器

Tomcat管理

第7章Web服务器集成

Web服务器与应用服务器的区别

集成应用场景

与Apache HTTP Server集成

Windows环境安装

Linux环境安装

mod_jk

mod_proxy_ajp

与Ngnix集成

Ngnix简介

Windows环境安装

Linux环境安装

Tomcat集成

与IlS集成

第8章Tomcat集群

Tomcat集群介绍

Tomcat集群基础

Apache Tribes

Tomcat集群组件实现

集群配置

会话同步

集群部署

实现原理

配置方式

第9章Tomcat安全

配置安全

安装部署问题

server.xml配置

应用安全

Realm

HttpServletRequest

Authenticator

传输安全(SSL)

Java安全策略

第10章Tomcat性能调优

Tomcat性能测试及诊断

常见测试方式

性能测试工具

数据采集及分析

Tomcat性能优化

JVM优化

Tomcat配置

应用性能优化建议

第11章Tomcat附加功能

Tomcat的嵌入式启动

为什么需要嵌入式启动

嵌入式启动Tomcat

嵌入式启动服务器

Tomcat中的JNDI

什么是JNDI

Tomcat中的JNDI

Comet和WebSocket

什么是Comet

Tomcat的Comet实现

什么是WebSocket

Tomcat的WebSocket实现

这份文档全面介绍了Tomcat的架构、各组件的实现方案以及使用方式,内容通俗易懂,由浅人深,非常适合基于Java平台的软件架构师、软件开发工程师及系统运维人员使用

篇幅限制只能这样展示出来了,如果你对这份文档感兴趣,直接前往Git地址:传送门