tomcat組件圖解 一個web服務(wù)器的架構(gòu)演化史
1. tomcat是誰?
2. tomcat可以做什么?
tomcat是一個web容器,可以將web應(yīng)用部署到tomcat,由它提供web服務(wù),一個web容器中可以部署多個web應(yīng)用,這些web應(yīng)用可以是同一個域名,也可以是多個域名的服務(wù)。
3. tomcat有哪些組件
4.怎么快速理解這些組件呢?
我們可以假設(shè)我們來設(shè)計一個web容器,我們該什么設(shè)計?
第一代:接收請求,處理請求,返回結(jié)果集中到整個web容器中,如下圖所示:
第二代 :連接管理和處理邏輯分開
使用過程中發(fā)現(xiàn),每次都要打開socket的連接,調(diào)用處理邏輯,然后關(guān)閉socket連接比較煩,干脆將socket的連接關(guān)閉交給Connector來處理,請求的業(yè)務(wù)邏輯交給Container來處理好了,就變成這樣了。
第三代:支持多種網(wǎng)絡(luò)協(xié)議
最初的目標(biāo)是設(shè)計一個web服務(wù)器或者容器,那么如果想要支持更多的協(xié)議就需要新建不同的Connector和Container,此時就變成這樣子了,其中service包裝了Connector和Container
第四代:支持多個web應(yīng)用
既然是容器,就要支持多個應(yīng)用,每個應(yīng)用是有一個Context,且相互隔離,支持多個Context的架構(gòu)如下:
第五代:支持多域名
Context上下文不僅僅需要物理上的隔離,也需要邏輯上的隔離,如app1.example.com訪問context1,app1.test.com訪問context2.
此時的架構(gòu)應(yīng)該是這樣的,host可以支持多個context。
5.總結(jié):
- web服務(wù)器的組件由server-->滿足功能
- server+connector+Container-->職責(zé)分離
- server+service+connector+Container-->支持多種協(xié)議
- server+service+connector+Container+context-->支持多個應(yīng)用
- server+service+connector+Container+host+context -->支持多個域名的多個應(yīng)用
其實就是一個分工組件細(xì)化的過程,類似于社會分工的細(xì)化,注意,Container在tomcat里也稱作engine。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于centos自己構(gòu)建一個tomcat鏡像的實現(xiàn)
本文主要介紹了基于centos自己構(gòu)建一個tomcat鏡像的實現(xiàn),文中根據(jù)實例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03淺談Tomcat中<Context>標(biāo)簽的使用方式和注意事項
本文主要介紹了淺談Tomcat中<Context>標(biāo)簽的使用方式和注意事項,Context標(biāo)簽可以設(shè)置Tomcat默認(rèn)項目,設(shè)置項目的瀏覽器訪問路徑,讓項目修改后自動重新編譯部署,感興趣的可以了解下2023-11-11SpringBoot?升級內(nèi)嵌Tomcat的操作示例
這篇文章主要介紹了SpringBoot升級內(nèi)嵌Tomcat,這里采用的是屏蔽舊的依賴,然后手動寫dependency的方式,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08