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简介

  1. Tomcat历史
  2. Tomcat许可

安装和启动

Tomcat目录结构

Tomcat 8.5之后的新特性

 

第2章Tomcat总体架构

总体设计

  1. Server
  2. Connector和Container
  3. Container设计
  4. Lifecycle
  5. pipeline和Valve
  6. Connector设计
  7. Executor
  8. 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编译方式

  1. 运行时编译
  2. 预编译

JSP编译原理

第6章Tomcat配置管理

JVM配置

服务器配置

Web应用配置

Web应用过滤器

Tomcat管理

第7章Web服务器集成

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

集成应用场景

与Apache HTTP Server集成

  1. Windows环境安装
  2. Linux环境安装
  3. mod_jk
  4. mod_proxy_ajp

与Ngnix集成

  1. Ngnix简介
  2. Windows环境安装
  3. Linux环境安装
  4. Tomcat集成

与IlS集成

 

第8章Tomcat集群

Tomcat集群介绍

  1. Tomcat集群基础
  2. Apache Tribes
  3. Tomcat集群组件实现

集群配置

会话同步

集群部署

  1. 实现原理
  2. 配置方式

 

第9章Tomcat安全

配置安全

  1. 安装部署问题
  2. server.xml配置

应用安全

  1. Realm
  2. HttpServletRequest
  3. Authenticator

传输安全(SSL)

Java安全策略

 

第10章Tomcat性能调优

Tomcat性能测试及诊断

  1. 常见测试方式
  2. 性能测试工具
  3. 数据采集及分析

Tomcat性能优化

  1. JVM优化
  2. Tomcat配置

应用性能优化建议

 

第11章Tomcat附加功能

Tomcat的嵌入式启动

  1. 为什么需要嵌入式启动
  2. 嵌入式启动Tomcat
  3. 嵌入式启动服务器

Tomcat中的JNDI

  1. 什么是JNDI
  2. Tomcat中的JNDI

Comet和WebSocket

  1. 什么是Comet
  2. Tomcat的Comet实现
  3. 什么是WebSocket
  4. Tomcat的WebSocket实现

 

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

篇幅限制只能这样展示出来了,如果你对这份文档感兴趣,帮忙评论加转发一下(让更多有需要的人看到)然后即可100%免费获取!