为什么要学习Tomcat的设计思路,对我们这些 crud 工程师有用吗?

导读

为什么要学习Tomcat的设计思路,对我们这些 crud 工程师有用吗?现代背景下,我们不仅可以学到Tomcat的架构,学会从宏观上怎么去设计一个复杂系统,怎么设计顶层模块,以及模块之间关系。

Tomcat总体架构

Tomcat主要实现了2个核心功能:

  • 处理Socket连接,负责网络字节流与Request和Response对象的转化
  • 加载和管理Servlet,以及具体处理Request请求

因此Tomcat设计了两个核心组件:

  • 连接器(Connector):负责对外交流
  • 容器(Container):负责内部处理

Tomcat支持哪些I/O模型呢?

  • NIO:非阻塞I/O,采用Java NIO类库实现
  • NIO.2:异步I/O,采用JDK 7最新的NIO.2类库实现
  • APR:采用Apache可移植运行库实现,是C/C++编写的本地库

Tomcat支持哪些应用层协议呢?

  • HTTP/1.1:大部分Web应用采用的访问协议
  • AJP:用于和Web服务器集成(如Apache)
  • HTTP/2:HTTP 2.0大幅度地提升了Web性能

Service

Tomcat为支持多种I/O模型和应用层协议,一个容器可能对接多个连接器。

但单独的连接器或容器都无法对外提供服务,需组装起来才能正常工作,组装后的整体称为Service组件。

Service只是在连接器和容器外面多包了一层,把它们组装在一起。

Tomcat内可能有多个Service,通过在Tomcat中配置多个Service,可实现通过不同端口号访问同一台机器上部署的不同应用。

最顶层是Server(即一个Tomcat实例)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值