JBOSS負(fù)載均衡安裝索引
對于熟悉J2EE的朋友們,可定知道JBOSS。那么,對于JBOSS我們也可以用來實現(xiàn)負(fù)載均衡技術(shù)。那么,通過開源的J2EE來實現(xiàn)?,F(xiàn)在我們就來詳細(xì)介紹一下再JBOSS中實現(xiàn)負(fù)載均衡的過程。首先我們來介紹一下安裝入門知識,和JBOSS的負(fù)載均衡的相關(guān)內(nèi)容。之后我們會對它的具體配置進行實例講解,希望大家繼續(xù)關(guān)注。
一、材料準(zhǔn)備:
1、jboss-4.2.1.GA
JBoss各個版本之間差異比較大,即使同為jboss 4.x的版本,內(nèi)部組件的版本也不一致,所以請盡量使用同一版本的server。目前已經(jīng)證明可以配置cluster的版本多為jboss-4.x.x。
2、Apache 2.2.4
3、Apache mod_jk-1.2.25-httpd-2.2.4.so
二、安裝:
1、jboss4.0.2與apache 2.0.54的安裝請自行搞定。假設(shè)jboss的安裝目錄為%jboss%,apache安裝目錄為%apache%。
2、mod_jk的安裝。
從apache.org獲得文件mod_jk-1.2.25-httpd-2.2.4.so,將該文件拷貝到%apache%\ modules。
三、jboss cluster入門
Jboss 支持如下類型的cluster:EJB、web、JNDI、JMS,我們主要了解web cluster。
Web cluster實際上可以劃分為兩個話題:負(fù)載均衡 (load balance) 和狀態(tài)同步。它們是互相獨立的,單獨配置。
負(fù)載均衡的概念比較簡單,重要的是負(fù)載均衡的粒度??梢赃x擇針對每個request的均衡,或者是針對每個用戶的均衡。選擇不同的粒度,需要不同的狀態(tài)同步方式。
1、基于request的負(fù)載均衡
該種方式下,負(fù)載均衡器 (load balancer)會根據(jù)各個node的狀況,把每個http request進行分發(fā)。使用這樣的均衡策略,就必須在多個node之間復(fù)制用戶的session,實時保持整個cluster的用戶狀態(tài)同步,這種操作被稱為session復(fù)制(session replication)。Jboss的實現(xiàn)原理是使用攔截器(interceptor),根據(jù)用戶的同步策略攔截request,做同步處理后再交給server產(chǎn)生響應(yīng)。
該方法的優(yōu)點是客戶不會被綁定都具體的node,只要還有一個node存活,用戶狀態(tài)都不會丟失,cluster都能夠繼續(xù)工作。缺點是node之間通信頻繁,響應(yīng)速度有影響,多并發(fā)、高頻操作的情況下性能下降比較厲害。
2、基于用戶的負(fù)載均衡
該種方式下,當(dāng)用戶發(fā)出第一個request后,負(fù)載均衡器動態(tài)的把該用戶分配到某個節(jié)點,并記錄該節(jié)點的jvm路由,以后該用戶的所有request都會被綁定這個jvm路由,用戶只會與該server發(fā)生交互,這種策略被稱為粘性session(session sticky)。
該方法的優(yōu)點是響應(yīng)速度快,多個節(jié)點之間無須通信。缺點也很明顯,某個node死掉以后,它負(fù)責(zé)的所有用戶都會丟失session。