Apache Web服務器與Tomcat集成是透過添加到兩端的專用軟件模塊來完成. 這個新的Protocol稱為AJP.
下圖顯示Tomcat 使用Apache 的mod_jk 或 mod_proxy本地代碼模塊. 所有請求首先到Apache Web服務器. Apache Web服務器並接受處理所有靜態資源請求, 例如靜態Html或靜態圖像. 在mod_jk或mod_proxy的幫助下, Apache Web服務器傳遞任何JSP或Server組件請求到Tomcat服務器實例. 通過使用AJP協議在網路上發送請求實現請求的轉寄.
可能有一個或多個連接網絡的Tomcat實例服務這些客戶端請求. 其中每個Tomcat實例都有一個配置的AJP連接器. AJP連接器會Monitor Apahce Web服務器轉寄的LAN 網絡請求. 此AJP連接器接收, 處理請求並產生適當響應. 最後Tomcat 6通過AJP連接器將該響應返送到Apache Web服務器等待的本地代碼模塊. Apache Web服務器一旦收到該響應, 他依次將響應發送到客戶端.
Apache Web 服務器的本地模塊與Tomcat 6上的AJP連接器通過AJP協議通訊. AJP協議是源請求和一個或多個這些請求的處理機制 (Tomcat 6服務器集群) 之間 (Apache Web 服務器) 最優的請求/轉移協議. (Tomcat 6終端的AJP連接器是100%的Java實現, 它做為標準Tomcat 6發布版本的一部份)
Apache JServ協議
AJP是一個封包導向, 基於TCP/IP的協議. 它在Apache 與運行的Tomcat 實例間提供通訊Channel. Tomcat 6支持 AJP 1.3. AJP 1.3式久經測試的版本. 它的一些特性如下:
減少AJP連接的方法之一就是重複使用這樣的Web服務器, 因為它已經打開與Tomcat的TCP層連接. 這節省了為每個請求打開新的socket連接的開銷.
AJP連接器
Tomcat為AJP 1.3協議題供做為Java類的AJP連接器實現, 它包含在Tomcat 發布版本中.
$CATALINA_HOME/conf/server.xml 配置文件包含以下條目來定義連接器:
protocol="AJP/1.3" 屬性指示了Tomcat配置的AJP連接器. 在Tomcat服務器實例上使用此連接器監聽互聯網中由Apache Web服務器發送, 進入的AJP請求.
延伸閱讀:
了解Tomcat Worker
沒有留言:
張貼留言