写点什么

有内味了!阿里内部 Tomcat 高阶调优笔记成功刷新了我的认知

发布于: 2021 年 01 月 18 日

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 页,篇幅限制不能将所有内容展示出来,需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取




第 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 平台的软件架构师、软件开发工程师及系统运维人员使用


篇幅限制只能这样展示出来了,如果你对这份文档感兴趣,需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取




用户头像

添加我的微信:tkzl6666 获取文中资料 2020.09.19 加入

添加我的微信:tkzl6666 获取文中资料

评论 (1 条评论)

发布
用户头像
有内味了!阿里内部 Tomcat 高阶调优笔记成功刷新了我的认知
2021 年 01 月 18 日 17:12
回复
没有更多了
有内味了!阿里内部Tomcat高阶调优笔记成功刷新了我的认知