主頁(yè) > 知識(shí)庫(kù) > tomcat組件圖解 一個(gè)web服務(wù)器的架構(gòu)演化史

tomcat組件圖解 一個(gè)web服務(wù)器的架構(gòu)演化史

熱門標(biāo)簽:智能手機(jī) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 檢查注冊(cè)表項(xiàng) 阿里云 硅谷的囚徒呼叫中心 使用U盤(pán)裝系統(tǒng) 美圖手機(jī) 網(wǎng)站建設(shè)

1. tomcat是誰(shuí)?

2. tomcat可以做什么?

tomcat是一個(gè)web容器,可以將web應(yīng)用部署到tomcat,由它提供web服務(wù),一個(gè)web容器中可以部署多個(gè)web應(yīng)用,這些web應(yīng)用可以是同一個(gè)域名,也可以是多個(gè)域名的服務(wù)。

3. tomcat有哪些組件

4.怎么快速理解這些組件呢?

我們可以假設(shè)我們來(lái)設(shè)計(jì)一個(gè)web容器,我們?cè)撌裁丛O(shè)計(jì)?

第一代:接收請(qǐng)求,處理請(qǐng)求,返回結(jié)果集中到整個(gè)web容器中,如下圖所示:

第二代 :連接管理和處理邏輯分開(kāi)

使用過(guò)程中發(fā)現(xiàn),每次都要打開(kāi)socket的連接,調(diào)用處理邏輯,然后關(guān)閉socket連接比較煩,干脆將socket的連接關(guān)閉交給Connector來(lái)處理,請(qǐng)求的業(yè)務(wù)邏輯交給Container來(lái)處理好了,就變成這樣了。

第三代:支持多種網(wǎng)絡(luò)協(xié)議

最初的目標(biāo)是設(shè)計(jì)一個(gè)web服務(wù)器或者容器,那么如果想要支持更多的協(xié)議就需要新建不同的Connector和Container,此時(shí)就變成這樣子了,其中service包裝了Connector和Container

第四代:支持多個(gè)web應(yīng)用

既然是容器,就要支持多個(gè)應(yīng)用,每個(gè)應(yīng)用是有一個(gè)Context,且相互隔離,支持多個(gè)Context的架構(gòu)如下:

第五代:支持多域名

Context上下文不僅僅需要物理上的隔離,也需要邏輯上的隔離,如app1.example.com訪問(wèn)context1,app1.test.com訪問(wèn)context2.

此時(shí)的架構(gòu)應(yīng)該是這樣的,host可以支持多個(gè)context。

5.總結(jié):

  •  web服務(wù)器的組件由server-->滿足功能
  •  server+connector+Container-->職責(zé)分離
  •  server+service+connector+Container-->支持多種協(xié)議
  •  server+service+connector+Container+context-->支持多個(gè)應(yīng)用
  •  server+service+connector+Container+host+context -->支持多個(gè)域名的多個(gè)應(yīng)用

其實(shí)就是一個(gè)分工組件細(xì)化的過(guò)程,類似于社會(huì)分工的細(xì)化,注意,Container在tomcat里也稱作engine。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:煙臺(tái) 黃山 懷化 湘潭 賀州 山南 通遼 湖北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《tomcat組件圖解 一個(gè)web服務(wù)器的架構(gòu)演化史》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266