一文读懂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。 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
-
负载均衡(Load Balance)是集群技术(Cluster)的一种应...[详细]
-
1.数据中心是什么 数据中心,指用于安置计算机系统及...[详细]
-
导引 Tomcat,这只3脚猫,大学的时候就认识了,直到现...[详细]
-
我们应当都知道数据无价这个词,既然数据那么主要,选...[详细]
-
数据中心里有成千上万台设备,每台设备在运行过程中都...[详细]
-
1. 指标范围 1.1 User mode CPU utilization+ System ...[详细]
-
网站运维人员经常遇到一个问题,那就是随着业务访问量...[详细]
-
从400+节点Elasticsearch集群的运维中,我们总结了这些经验
Meltwater 每天要处理数百万量级的帖子数据,因此需要...[详细]
-
这一年,5G从未来快速走到了我们眼前。此前十年中,以...[详细]
-
Nginx是一款免费的、开源的、高性能、模块化、轻量级...[详细]