Tomcat的工做模式和運行模式

(1)工做模式

Tomcat做爲servlet容器,有三種工做模式:前端

  • 一、獨立的servlet容器,servlet容器是web服務器的一部分;
  • 二、進程內的servlet容器,servlet容器是做爲web服務器的插件和java容器的實現,web服務器插件在內部地址空間打開一個jvm使得java容器在內部得以運行。反應速度快但伸縮性不足;
  • 三、進程外的servlet容器,servlet容器運行於web服務器以外的地址空間,並做爲web服務器的插件和java容器實現的結合。反應時間不如進程內但伸縮性和穩定性比進程內優;

進入Tomcat的請求能夠根據Tomcat的工做模式分爲以下兩類:java

  • Tomcat做爲應用程序服務器:請求來自於前端的web服務器,這多是Apache, IIS, Nginx等;
  • Tomcat做爲獨立服務器:請求來自於web瀏覽器;

(2)運行模式

常見於server.xml中的鏈接器類型一般有4種:
1) HTTP鏈接器 2) SSL鏈接器 3) AJP 1.3鏈接器 4) proxy鏈接器web

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上運行高併發應用的首選模式。
相關文章
相關標籤/搜索