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)是集群配置最簡(jiǎn)單,dns設(shè)置也非常簡(jiǎn)單。
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ù),但又因?yàn)閙od_jk2方式不被推薦,mod_jk2已經(jīng)不再被更新了。
轉(zhuǎn)自:http://www.aygfsteel.com/kit-soft/archive/2009/08/28/292983.html