一文读懂tomcat组件--一个web服务器的架构演化史

1. tomcat是谁?

 

 
 

2. tomcat可以做什么?

  tomcat是一个web容器,可以将web应用部署到tomcat,由它提供web服务,一个web容器中可以部署多个web应用,这些web应用可以是同一个域名,也可以是多个域名的服务。

3. tomcat有哪些组件

4.怎么快速理解这些组件呢?

我们可以假设我们来设计一个web容器,我们该什么设计?

第一代:接收请求,处理请求,返回结果集中到整个web容器中,如下图所示:

   

第二代 :连接管理和处理逻辑分开

   使用过程中发现,每次都要打开socket的连接,调用处理逻辑,然后关闭socket连接比较烦,干脆将socket的连接关闭交给Connector来处理,请求的业务逻辑交给Container来处理好了,就变成这样了。

第三代:支持多种网络协议

     最初的目标是设计一个web服务器或者容器,那么如果想要支持更多的协议就需要新建不同的Connector和Container,此时就变成这样子了,其中service包装了Connector和Container

 

第四代:支持多个web应用

   既然是容器,就要支持多个应用,每个应用是有一个Context,且相互隔离,支持多个Context的架构如下:

 

第五代:支持多域名

  Context上下文不仅仅需要物理上的隔离,也需要逻辑上的隔离,如app1.example.com访问context1,app1.test.com访问context2.

此时的架构应该是这样的,host可以支持多个context。

5.总结:

  web服务器的组件由server-->满足功能

  server+connector+Container-->职责分离

  server+service+connector+Container-->支持多种协议

  server+service+connector+Container+context-->支持多个应用

  server+service+connector+Container+host+context -->支持多个域名的多个应用

      其实就是一个分工组件细化的过程,类似于社会分工的细化,注意,Container在tomcat里也称作engine。

 

转载于:https://www.cnblogs.com/davidwang456/p/11323101.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值