日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tomcat - Tomcat的套娃式架构设计初探

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tomcat - Tomcat的套娃式架构设计初探 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • Tomcat的主要功能
  • Tomcat的架構初探
    • Connector 組件 -Coyote
      • Coyote的組成
    • Container 組件 -Catalina
      • Catalina 的組成
  • server-service-connector/container-engine-host-context-wrapper
  • 總體架構預覽


Tomcat的主要功能

核心功能: http服務器和servlet 容器

  • Http服務器功能 : Socket通信(TCP/IP)、解析HTTP報文

  • Servlet容器功能 : 實現了Servlet規范 , 有多個Servlet(自帶Servlet + 自定義Servlet),Servlet處理具體的業務


Tomcat的架構初探

剛才說了tomcat核心功能有兩個 : http服務器和Servlet 容器。 那tomcat為了實現如上兩個核心功能又是怎樣架構的呢?

為了實現上面的功能,tomcat封裝出了很多組件 ,這些組件共同組成了Tomcat的架構。

進一步分析一下

我們既然說了tomcat的兩個核心功能,HTTP和Servlet , 具體在架構中對應的部分是哪些呢?

HTTP------> Connector
Servlet --------> Container


Connector 組件 -Coyote

Connector 組件 在tomcat中,有個專門的名稱,叫 Coyote ,專門處理HTTP服務器功能

Coyote的組成

我們把Connector組件放大來看一下

  • EndPoint 組件進行Socket通信,處理TCP請求

  • Processor 組件解析HTTP報文,處理HTTP請求

這兩個組件被稱為 ProtocolHandler

HTTP請求 都是處理的Request, 而 Catalina 實現了Servlet規范,主要處理的是ServletRequest請求,所以這倆沒法直接交互,因此才有了Adapter 組件,用來轉換Request 和 ServletRequest

順便說一下 AJP,這個是早期tomcat為了繼承Apache的靜態資源服務 的時候使用的協議,(Tomcat更擅長處理動態資源)


Container 組件 -Catalina

Container 組件的主要功能是完成Servlet容器功能, 也有個專門的名稱叫 Catalina

Catalina 的組成

  • Engine&Host: Engine組件(引擎) 是Servlet容器Catalina的核心,它支持在其下定義多個虛擬主機(Host) , 虛擬主機允許Tomcat引擎在將配置在一天主機上的多個域名(比如www.artisan.com , www.art.com) 分割開來互不干擾

  • Context: 每個虛擬主機又可以支持多個web應用部署在它下邊,這就是我們常說的上下文Context對象. 上下文使用由Servlet規范中指定的Web應用程序格式表示,不論是壓縮過的war包還是未壓縮的目錄形式

  • Wrapper: 在上下文中又可以部署多個Servlet ,并且每個Servlet都會被一個包裝組件(Wrapper)所包含 (一個wrapper對應一個Servlet)


server-service-connector/container-engine-host-context-wrapper

除了Connector組件和Container組件,Tomcat其實還定義了很多組件來工作

(server-service-connector/container-engine-host-context-wrapper)

這些組件采用一層一層的設計方式(套娃式) 。 如果一個組件包含了其他組件,那么這個組件也稱之為容器。

瞅一瞅俄羅斯套娃 哈哈


總體架構預覽

說了這多,匯總如下


總結

以上是生活随笔為你收集整理的Tomcat - Tomcat的套娃式架构设计初探的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。