Tomcat集群方式有三種,分別是:
1.使用DNS輪詢.
2.使用apache R-proxy方式。
3.使用apache mod_jk方式.
接下來對三種Tomcat集群方式的優缺點分析一二。
DNS輪詢的缺點是,當集群中某台服務器停止之後,用戶由於dns緩存的緣故,便無法訪問服務,必須等到dns解析更新,或者這台服務器重新啟動。
還有就是必須把集群中的所有服務端口暴露給外界,沒有用apache做前置代理的方式安全,並且占用大量公網IP地址,而且tomcat還要負責處理靜態網頁資源,影響效率。
優點是集群配置最簡單,dns設置也非常簡單。
R-proxy的缺點是,當其中一台tomcat停止運行的時候,apache仍然會轉發請求過去,導致502網關錯誤。但是只要服務器再啟動就不存在這個問題。
mod_jk方式的優點是,apache 會自動檢測到停止掉的tomcat,然後不再發請求過去。
缺點就是,當停止掉的tomcat服務器再次啟動的時候,apache檢測不到,仍然不會轉發請求過去。
R-proxy和mod_jk的共同優點是.可以只將apache置於公網,節省公網IP地址資源。
可以通過設置來實現apache專門負責處理靜態網頁,讓Tomcat專門負責處理JSP和servlet等動態請求。
共同缺點是:如果前置apache代理服務器停止運行,所有集群服務將無法對外提供。
R-proxy和mod_jk對靜態頁面請求的處理,都可以通設置來選取一個盡可能優化的效果。
這三種Tomcat集群方式對實現最佳負載均衡都有一定不足,mod_jk相對好些,可以通過設置lbfactor參數來分配請求任務,但又因為mod_jk2方式不被推薦,mod_jk2已經不再被更新了。
本文來自kit_lo的博客:《tomcat 三種集群方式》