JBoss集群配置前言與集群知識(shí)
JBoss集群配置概念
JBoss集群(Cluster)是一組計(jì)算機(jī)節(jié)點(diǎn)的集合,它們作為一個(gè)整體向用戶(hù)提供一組網(wǎng)絡(luò)資源。一個(gè)理想的集群對(duì)用戶(hù)是透明的。用戶(hù)由單一入口訪問(wèn)集群的資源,從來(lái)不會(huì)意識(shí)到集群中的節(jié)點(diǎn)。在他們看來(lái),集群是一個(gè)系統(tǒng),而非多個(gè)計(jì)算機(jī)系統(tǒng)。集群還應(yīng)該支持隨意增加和減少集群系統(tǒng)的節(jié)點(diǎn),而這同樣不會(huì)影響到用戶(hù)的訪問(wèn)。
JBoss集群分類(lèi)
習(xí)慣上,JBoss集群配置的關(guān)鍵是把集群分為高可用(High Availability,簡(jiǎn)稱(chēng)HA)集群和高性能計(jì)算(High PerfermanceComputing,簡(jiǎn)稱(chēng)HPC)集群兩類(lèi)。HA集群的目標(biāo)是提高系統(tǒng)的可使用性(availability),即可靠性(reliability)和可維護(hù)性(maintainability)。請(qǐng)不要將集群中的可使用性(availability)與UE和交互設(shè)計(jì)中的可用性(Usability)混淆。HA集群的核心是防止單點(diǎn)失效,這一般是通過(guò)失敗轉(zhuǎn)移來(lái)實(shí)現(xiàn)的,即在一個(gè)節(jié)點(diǎn)失效后由另一個(gè)節(jié)點(diǎn)接替服務(wù)。不丟失用戶(hù)狀態(tài)。HA集群的其他主要特性還包括負(fù)載均衡、session同步等。我們使用的SQL Server數(shù)據(jù)庫(kù)的雙機(jī)熱備和Oracle的RAC都屬于HA集群。HPC集群采用并行計(jì)算技術(shù)提供超大規(guī)模計(jì)算和存儲(chǔ)能力,多數(shù)超級(jí)計(jì)算機(jī)都是HPC集群。這不是我們關(guān)注的集群。
JBoss集群架構(gòu)
JBoss集群是HA集群。JBoss集群有2種架構(gòu)。一是客戶(hù)端攔截器(Client-side interceptor)架構(gòu),一是負(fù)載均衡器(Load balancer)架構(gòu)??蛻?hù)端攔截器架構(gòu)適于用C/S結(jié)構(gòu),負(fù)載均衡器架構(gòu)適用于B/S結(jié)構(gòu)。本文只敘述負(fù)載均衡器架構(gòu)的JBoss集群。
負(fù)載均衡器架構(gòu)由負(fù)載均衡器和n個(gè)集群節(jié)點(diǎn)組成。每個(gè)節(jié)點(diǎn)是一個(gè)JBoss服務(wù)器實(shí)例。負(fù)載均衡器是全局唯一的前置機(jī),全部用戶(hù)請(qǐng)求都發(fā)到負(fù)載均衡器,由其轉(zhuǎn)發(fā)到各節(jié)點(diǎn)。當(dāng)負(fù)載均衡器發(fā)現(xiàn)一個(gè)節(jié)點(diǎn)失效后,會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到另一個(gè)節(jié)點(diǎn)上,從而保證服務(wù)得以延續(xù)。負(fù)載均衡器同時(shí)負(fù)責(zé)加權(quán)靜態(tài)負(fù)載均衡調(diào)度??傊?fù)載均衡器的健康程度決定了集群的全局健康度,負(fù)載均衡器失敗將導(dǎo)致集群全部失效。這是前置機(jī)架構(gòu)集群的主要潛在問(wèn)題。
JBoss的負(fù)載均衡器架構(gòu)集群實(shí)際是由Tomcat的HTTP集群實(shí)現(xiàn)的。JBoss有自己的負(fù)載均衡器,但效果不佳,官方文檔沒(méi)有介紹,幾乎沒(méi)有人使用。一般情況下,我們都是采用apache+mod_jk作為負(fù)載均衡器。下文敘述的都是基于這種架構(gòu)。mod_jk是apache的一個(gè)插件,負(fù)責(zé)apache與tomcat之間的通訊,是JBoss集群配置(tomcat集群)的關(guān)鍵。
Jboss版本的選擇
目前,JBoss主要有3、4、5三個(gè)版本系列。JBoss 5目前只有2個(gè)beta版,實(shí)用尚需時(shí)日。JBoss 3的最后版本是2006年3月更新的3.2.8.SP1。隨著JBoss 4日益成熟和JBoss 5的開(kāi)發(fā),已經(jīng)停止更新1年多的Jboss 3逐漸淡出歷史舞臺(tái)。JBoss 4最新版本依次是4.2.1.GA、4.2.0.GA和4.0.5.GA。但官方網(wǎng)站提供的JBoss集群文檔只更新到4.0.5 GA,所以選擇JBoss 4.0.5 GA實(shí)現(xiàn)JBoss集群配置。
【編輯推薦】