Tomcat 不但没有过时,Spring Boot 还给 Tomcat 第二春了。
微服务的兴起,Tomcat 针对很多应用已经做成 embedded 模式了,Tomcat 本身是容器,Tomcat 的出现就是为了解决但是 EJB 和 Weblogic,JBoss 这种大而全的大象导致的部署和安装问题。
就这只猫不猫,虎不虎的,跑了这么多年了。
针对一般的应用,通常是 Tomcat 部署上去然后丢一个 War 包进去。
Spring Boot 将 Tomcat 嵌入进来了,你不再需要重新下载安装 Tomcat ,只要有 JVM ,JDK ,直接运行 Jar 就行了
如果你只有一台服务器,貌似也没啥,使用 Tomcat 安装部署 WAR 和 运行 Jar 都差不多,不说多了,假设你有 10 台服务器,有几台是做集群,有几台分别跑不同服务和 API。
升级一次 Tomcat 的版本,或者 JDK 的版本就能让你晕掉了,这工程量是以周为计算机的,还不包括兼容性测试,等等。
Spring Boot 部署就方便多了,直接 Jar 进去,如果你要扩展服务器也很容易,把当前的服务器做个 Image,反正是个 Jar,到时升级一次就全部升级了。
简单快乐,心情大好,还没有什么兼容性问题,因为都测过了,不会因为有些时候服务器跑 Tomcat 8,有些时候服务器跑 Tomcat 9 出问题。
这里介绍一份详解Tomcat架构的秘籍,让我们一起来深入探索一下吧
Tomcat 8.5之后的新特性
类加载器
DefautSerletoIspserlet
I/O
JSP编译原理
Tomcat管理
与IIS集成
集群部署
Java安全策略
应用性能优化建议
Comet和WebSocket
最后,“闻道有先后,术业有专攻”,对于Tomcat很多功能,本篇仅从架构上做了一个基本的介绍,涉及技术细节(如JVM、1O、协议等),还需要朋友们进一步阅读相关权威的参考书, 如此才会对应用服务器的知识做到融会贯通。