omcat集群的三種負載均衡方式優缺點對照。- -

                                      

Tomcat集群的三種負載均衡方式優缺點對照。
1.使用DNS輪詢.
2.使用Apache R-proxy方式
3.使用Apache mod_jk方式.
 
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對靜態頁面請求的處理,都可以通設置來選取一個盡可能優化的效果。
這三種方式對實現最佳負載均衡都有一定不足,mod_jk相對好些,可以通過設置lbfactor參數來分配請求任務。
 
所有這些在實際使用中都應該根據具體情況來選擇。
簡略配置如下:
前期準備:
1。下載Apache和Tomcat:
Apache2.0.53:
 
Tomcat5.5.9:
 
mod_jk.so
(可選,因為Apache2.0.53已經自帶).
 
 
2.配置Tomcat集群
同時發布有clusterapp這個web應用,,修改test.jsp,
使得打開:
看到的是不同的頁面效果。
 
3.安裝Apache2.0.53。
 
此時Tomcat集群的服務器為:
192.168.9.226:12080和192.168.9.235:12080
 
編輯c:/windows/system32/drivers/etc/host文件,
最后一行加上
127.0.0.1   lizongbo.com
先來R-proxy方式
接下來是mod_jk方式
重新啟動apache,同樣打開
不停的刷新這個頁面,也將會看到頁面顯示出不同的內容。

參考資料:
Tomcat cluster:
http://www.onjava.com/onjava/2004/04/14/examples/tomcatclustering.zip
http://www.onjava.com/pub/a/onjava/2004/11/24/replication1.html
http://www.onjava.com/pub/a/onjava/2004/11/24/replication1.html?page=2
http://www.onjava.com/pub/a/onjava/2004/04/14/clustering.html
http://www.onjava.com/pub/a/onjava/2004/04/14/clustering.html?page=2
R-proxy:
 
mod_jk:
 
 
 
相對已經過時的資料(因為mod_jk2方式已經不被推薦,mod_jk2已經不再被更新了):
 
 
可能有用的資料:(因為我還沒有仔細看過)