omcat集群的三種負(fù)載均衡方式優(yōu)缺點(diǎn)對(duì)照。- -

                                      

Tomcat集群的三種負(fù)載均衡方式優(yōu)缺點(diǎn)對(duì)照。
1.使用DNS輪詢.
2.使用Apache R-proxy方式
3.使用Apache mod_jk方式.
 
DNS輪詢的缺點(diǎn)是,當(dāng)集群中某臺(tái)服務(wù)器停止之后,用戶由于dns緩存的緣故,便無法訪問服務(wù),
必須等到dns解析更新,或者這臺(tái)服務(wù)器重新啟動(dòng)。
還有就是必須把集群中的所有服務(wù)端口暴露給外界,沒有用apache做前置代理的方式安全,
并且占用大量公網(wǎng)IP地址,而且tomcat還要負(fù)責(zé)處理靜態(tài)網(wǎng)頁資源,影響效率。
優(yōu)點(diǎn)是集群配置最簡單,dns設(shè)置也非常簡單。
 
R-proxy的缺點(diǎn)是,當(dāng)其中一臺(tái)tomcat停止運(yùn)行的時(shí)候,apache仍然會(huì)轉(zhuǎn)發(fā)請(qǐng)求過去,導(dǎo)致502網(wǎng)關(guān)錯(cuò)誤。
但是只要服務(wù)器再啟動(dòng)就不存在這個(gè)問題。
 
mod_jk方式的優(yōu)點(diǎn)是,Apache 會(huì)自動(dòng)檢測(cè)到停止掉的tomcat,然后不再發(fā)請(qǐng)求過去。
缺點(diǎn)就是,當(dāng)停止掉的tomcat服務(wù)器再次啟動(dòng)的時(shí)候,Apache檢測(cè)不到,仍然不會(huì)轉(zhuǎn)發(fā)請(qǐng)求過去。
 
R-proxy和mod_jk的共同優(yōu)點(diǎn)是.可以只將Apache置于公網(wǎng),節(jié)省公網(wǎng)IP地址資源。
可以通過設(shè)置來實(shí)現(xiàn)Apache專門負(fù)責(zé)處理靜態(tài)網(wǎng)頁,讓Tomcat專門負(fù)責(zé)處理jsp和servlet等動(dòng)態(tài)請(qǐng)求。
共同缺點(diǎn)是:如果前置Apache代理服務(wù)器停止運(yùn)行,所有集群服務(wù)將無法對(duì)外提供。
R-proxy和mod_jk對(duì)靜態(tài)頁面請(qǐng)求的處理,都可以通設(shè)置來選取一個(gè)盡可能優(yōu)化的效果。
這三種方式對(duì)實(shí)現(xiàn)最佳負(fù)載均衡都有一定不足,mod_jk相對(duì)好些,可以通過設(shè)置lbfactor參數(shù)來分配請(qǐng)求任務(wù)。
 
所有這些在實(shí)際使用中都應(yīng)該根據(jù)具體情況來選擇。
簡略配置如下:
前期準(zhǔn)備:
1。下載Apache和Tomcat:
Apache2.0.53:
 
Tomcat5.5.9:
 
mod_jk.so
(可選,因?yàn)锳pache2.0.53已經(jīng)自帶).
 
 
2.配置Tomcat集群
同時(shí)發(fā)布有clusterapp這個(gè)web應(yīng)用,,修改test.jsp,
使得打開:
看到的是不同的頁面效果。
 
3.安裝Apache2.0.53。
 
此時(shí)Tomcat集群的服務(wù)器為:
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方式
重新啟動(dòng)apache,同樣打開
不停的刷新這個(gè)頁面,也將會(huì)看到頁面顯示出不同的內(nèi)容。

參考資料:
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:
 
 
 
相對(duì)已經(jīng)過時(shí)的資料(因?yàn)閙od_jk2方式已經(jīng)不被推薦,mod_jk2已經(jīng)不再被更新了):
 
 
可能有用的資料:(因?yàn)槲疫€沒有仔細(xì)看過)