为什么写《Tomcat内核设计剖析》

tomcat内核 专栏收录该内容
96 篇文章 46 订阅 ¥79.90 ¥99.00

三四年前更多地还是做web业务开发,基本不关心web层以下的东西,但是每次出故障时面对现象都不能从脑子里形成由底层到应用层的完整的逻辑,往往只能分析到Web应用就无法继续往下,Web容器完全就是一个黑盒,对于问题更多的是靠猜。举个简单的例子,应用突然就不服务了,此时如果对Web容器模型熟悉就可以直接jstack打印虚拟机的栈进行分析。我个人接受不了这种用非完整性逻辑去分析事物的感觉,于是想着还是把Tomcat也一起搞定吧,处理故障时往往就能看到更本质的东西,而且还能对Tomcat进行定制。

为什么选择Tomcat?对于多数Java开发者,很多Web容器都是基于Tomcat的,同时Tomcat也最多人在使用,所以选定了Tomcat。

另外,互联网研发人员都必须要深入掌握一个Web服务器,比如tomcat,比如nginx,比如apache。

在我看来Web服务器将网络IO及线程并发处理还有协议等需要很经验很丰富的高级程序员才能处理的好的事都屏蔽掉了,抽象出了另外一个高纬度的概念,大大降低了Web应用的开发难度,也提高了效率,但同时也让上层开发的人很少有机会了解下层的东西,这对于处理故障和性能分析是十分不利的。所以说Web服务器这个抽象有大利也有小弊。

怎么深入?开始看《how tomcat works》,这本书很经典,它从0开始阐述了Tomcat如何工作,但这本书是基于Tomcat很老的版本,看完后我能了解大概的Tomcat机制,但我总觉得正在的工业级Web容器还应该有很多细节是需要处理的,而正是这些细节才成就了Tomcat成为一个工业级的Web容器,而这本书并没有涉及到Tomcat里面的细节处理及优秀的设计思想。

当我深入Tomcat源码后,发

  • 5
    点赞
  • 24
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

本书并不是一本以源码分析为主的书,而且本书立意便是要与这类书区分开。因此如果你想仔细了解Tomcat的源代码,显然本书并不是你想要的。本书只是从架构设计上,对Tomcat的各组件进行了概念性讲解,如果你想阅读Tomcat的源码,本书的内容会让你更容易了解Tomcat的组件结构、设计方案,更容易去由概要到具体的熟悉Tomcat各组件的实现。 其次,本书不局限于对Tomcat架构原理的讲解。对于像服务器这种技术方案相对复杂的应用程序,作为技术人员我们天生的就会好奇它是怎么高效的工作的。那么好奇之后呢?无外乎两点:1、借鉴它某些组件的原理,应用到我们的系统架构当中。这需要你有较好的架构抽象和理解能力,本书也尽可能对架构上的可借鉴之处做了说明。2、更好的使用服务器,将其特性最大程度发挥出来。谈到这点,就不是分析源码可以做到的了。你要知道Servlet规范相关的内容、Tomcat支持的各种特性配置、Web服务器(Apache、Nginx)等的配置,所有这些在实际工作中是必不可少的,如果每次出问题了才想起谷歌和百度,这自然是不行的。而如果有个完备的手册在身边,自然方便很多,这也是本书把诸多配置仔细的包含进来的原因。了解完Tomcat的工作原理后,把它当成一本配置参考书吧,这样节省你的记忆和搜索时间。
©️2021 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值