天天看點

Tomcat的工作模式和運作模式

本文介紹Tomcat的工作模式和運作模式

(1)工作模式

Tomcat作為servlet容器,有三種工作模式:

  • 1、獨立的servlet容器,servlet容器是web伺服器的一部分;
  • 2、程序内的servlet容器,servlet容器是作為web伺服器的插件和java容器的實作,web伺服器插件在内部位址空間打開一個jvm使得java容器在内部得以運作。反應速度快但伸縮性不足;
  • 3、程序外的servlet容器,servlet容器運作于web伺服器之外的位址空間,并作為web伺服器的插件和java容器實作的結合。反應時間不如程序内但伸縮性和穩定性比程序内優;

進入Tomcat的請求可以根據Tomcat的工作模式分為如下兩類:

  • Tomcat作為應用程式伺服器:請求來自于前端的web伺服器,這可能是Apache, IIS, Nginx等;
  • Tomcat作為獨立伺服器:請求來自于web浏覽器;

(2)運作模式

常見于server.xml中的連接配接器類型通常有4種:

  1. HTTP連接配接器 2) SSL連接配接器 3) AJP 1.3連接配接器 4) proxy連接配接器

Tomcat Connector(連接配接器)有三種運作模式:

  • bio(blocking I/O)

    即阻塞式I/O操作,表示Tomcat使用的是傳統的Java I/O操作(即java.io包及其子包)。

    一個線程處理一個請求,缺點:并發量高時,線程數較多,浪費資源。

  • nio(new I/O)

    Java nio是一個基于緩沖區、并能提供非阻塞I/O操作的Java API,是以nio也被看成是non-blocking I/O的縮寫。它擁有比傳統I/O操作(bio)更好的并發運作性能。

    利用 Java 的異步請求 IO 處理,可以通過少量的線程處理大量的請求。

  • apr(Apache Portable Runtime/Apache可移植運作時)

    Tomcat将以JNI的形式調用Apache HTTP伺服器的核心動态連結庫來處理檔案讀取或網絡傳輸操作,進而大大地提高Tomcat對靜态檔案的處理性能。Tomcat apr也是在Tomcat上運作高并發應用的首選模式。

繼續閱讀