1. 程式人生 > >mod_jk模組的總體功能

mod_jk模組的總體功能

由於tomcat的HTTP處理部分都由Java所寫(5.5.12版本以後出現了native庫,用以提高其I/O和SSL的效能[1]),在高併發的情況下負載較高。而

apache對於靜態檔案的處理能力比tomcat強,所以tomcat開發組開發了與apache結合使用的mod_jk模組。該協議由apache作請求代理,將HTTP協議的請求

轉化為AJP協議包,並傳給後端的tomcat。mod_jk和apache現在普遍使用AJP1.3協議[2]。它是一個二進位制格式的協議,比字元格式的HTTP協議解析速度要

快。除了效能的提升,mod_jk另外的一個作用可以實現apache與tomcat一對多

的對應,使後端tomcat負載均衡。mod_jk也提供apache與tomcat連結情況的

監控。mod_jk模組的典型工作流程是這樣的:一個HTTP請求過來,mod_jk模組根據其URI選擇合適的worker來進行處理。如果是lb_worker(負載均衡的

worker),就再根據各種條件選擇後臺合適的ajp_worker(處理AJP協議的worker)。ajp_worker將HTTP協議的包,組裝成AJP協議格式的包,然後選取一

條空閒的連結,傳送給後臺的tomcat伺服器。等到後臺將資料傳送過來時,接收並解析AJP協議,重新組裝成HTTP協議,然後把結果傳送給客戶端。

此段內容節選自《mod_jk(Apache+mod_jk+tomcat)詳細配置方法》。

連結:http://www.server110.com/apache/201312/3624.html