資源描述:
《apache+tomcat負(fù)載均衡及session綁定的實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、Apache+Tomcat負(fù)載均衡及Session綁定的實(shí)現(xiàn)關(guān)鍵字:apachetomcat負(fù)載均衡群集session綁定集群背景介紹1.1術(shù)語(yǔ)定義?服務(wù)軟體是b/s或c/s結(jié)構(gòu)的s部分,是為b或c提供服務(wù)的服務(wù)性軟件系統(tǒng)。?服務(wù)硬體指提供計(jì)算服務(wù)的硬件、比如pc機(jī)、pc服務(wù)器。??服務(wù)實(shí)體通指服務(wù)軟體和服務(wù)硬體。??客戶端指接受服務(wù)實(shí)體服務(wù)的軟件或硬件。?1.2兩大關(guān)鍵特性?集群是一組協(xié)同工作的服務(wù)實(shí)體,用以提供比單一服務(wù)實(shí)體更具擴(kuò)展性與可用性的服務(wù)平臺(tái)。在客戶端看來(lái),一個(gè)集群就象是一個(gè)服務(wù)實(shí)體,但事實(shí)上集
2、群由一組服務(wù)實(shí)體組成。與單一服務(wù)實(shí)體相比較,集群提供了以下兩個(gè)關(guān)鍵特性:·可擴(kuò)展性--集群的性能不限于單一的服務(wù)實(shí)體,新的服務(wù)實(shí)體可以動(dòng)態(tài)地加入到集群,從而增強(qiáng)集群的性能。·高可用性--集群通過(guò)服務(wù)實(shí)體冗余使客戶端免于輕易遇到outofservice的警告。在集群中,同樣的服務(wù)可以由多個(gè)服務(wù)實(shí)體提供。如果一個(gè)服務(wù)實(shí)體失敗了,另一個(gè)服務(wù)實(shí)體會(huì)接管失敗的服務(wù)實(shí)體。集群提供的從一個(gè)出錯(cuò)的服務(wù)實(shí)體恢復(fù)到另一個(gè)服務(wù)實(shí)體的功能增強(qiáng)了應(yīng)用的可用性。1.3兩大能力?為了具有可擴(kuò)展性和高可用性特點(diǎn),集群的必須具備以下兩大能力:
3、·負(fù)載均衡--負(fù)載均衡能把任務(wù)比較均衡地分布到集群環(huán)境下的計(jì)算和網(wǎng)絡(luò)資源?!ゅe(cuò)誤恢復(fù)--由于某種原因,執(zhí)行某個(gè)任務(wù)的資源出現(xiàn)故障,另一服務(wù)實(shí)體中執(zhí)行同一任務(wù)的資源接著完成任務(wù)。這種由于一個(gè)實(shí)體中的資源不能工作,另一個(gè)實(shí)體中的資源透明的繼續(xù)完成任務(wù)的過(guò)程叫錯(cuò)誤恢復(fù)。負(fù)載均衡和錯(cuò)誤恢復(fù)都要求各服務(wù)實(shí)體中有執(zhí)行同一任務(wù)的資源存在,而且對(duì)于同一任務(wù)的各個(gè)資源來(lái)說(shuō),執(zhí)行任務(wù)所需的信息視圖(信息上下文)必須是一樣的。?1.4兩大技術(shù)?實(shí)現(xiàn)集群務(wù)必要有以下兩大技術(shù):·集群地址--集群由多個(gè)服務(wù)實(shí)體組成,集群客戶端通過(guò)訪問(wèn)集
4、群的集群地址獲取集群內(nèi)部各服務(wù)實(shí)體的功能。具有單一集群地址(也叫單一影像)是集群的一個(gè)基本特征。維護(hù)集群地址的設(shè)置被稱為負(fù)載均衡器。負(fù)載均衡器內(nèi)部負(fù)責(zé)管理各個(gè)服務(wù)實(shí)體的加入和退出,外部負(fù)責(zé)集群地址向內(nèi)部服務(wù)實(shí)體地址的轉(zhuǎn)換。有的負(fù)載均衡器實(shí)現(xiàn)真正的負(fù)載均衡算法,有的只支持任務(wù)的轉(zhuǎn)換。只實(shí)現(xiàn)任務(wù)轉(zhuǎn)換的負(fù)載均衡器適用于支持ACTIVE-STANDBY的集群環(huán)境,在那里,集群中只有一個(gè)服務(wù)實(shí)體工作,當(dāng)正在工作的服務(wù)實(shí)體發(fā)生故障時(shí),負(fù)載均衡器把后來(lái)的任務(wù)轉(zhuǎn)向另外一個(gè)服務(wù)實(shí)體?!?nèi)部通信--為了能協(xié)同工作、實(shí)現(xiàn)負(fù)載均衡和
5、錯(cuò)誤恢復(fù),集群各實(shí)體間必須時(shí)常通信,比如負(fù)載均衡器對(duì)服務(wù)實(shí)體心跳測(cè)試信息、服務(wù)實(shí)體間任務(wù)執(zhí)行上下文信息的通信。具有同一個(gè)集群地址使得客戶端能訪問(wèn)集群提供的計(jì)算服務(wù),一個(gè)集群地址下隱藏了各個(gè)服務(wù)實(shí)體的內(nèi)部地址,使得客戶要求的計(jì)算服務(wù)能在各個(gè)服務(wù)實(shí)體之間分布。內(nèi)部通信是集群能正常運(yùn)轉(zhuǎn)的基礎(chǔ),它使得集群具有均衡負(fù)載和錯(cuò)誤恢復(fù)的能力。???集群配置?????從上圖可知,由服務(wù)實(shí)體1、服務(wù)實(shí)體2和負(fù)載均衡器組成了一個(gè)集群。服務(wù)實(shí)體1和服務(wù)實(shí)體2參與對(duì)客戶端的服務(wù)支持工作,均衡負(fù)載器為客戶端維護(hù)集群的單一影像。集群實(shí)體間
6、通過(guò)內(nèi)部的通信網(wǎng)交流信息,這種交流機(jī)制一般采用組播協(xié)議。負(fù)載均衡器通過(guò)內(nèi)部通信網(wǎng)探測(cè)各服務(wù)實(shí)體的心跳信息,服務(wù)實(shí)體間通過(guò)內(nèi)部通信網(wǎng)完成任務(wù)資源的傳播。可以看出,配置集群主要由配置服務(wù)實(shí)體和配置負(fù)載均衡器兩部分組成。本文使用tomcat5.5.20、apache2.2.11配置集群環(huán)境。?2.1準(zhǔn)備軟件·tomcat是開(kāi)源服務(wù)器,下載地點(diǎn)http://tomcat.apache.org/download-55.cgi;(本文使用的apache-tomcat-5.5.20.zip)·apache是開(kāi)源的www服務(wù)
7、器,下載地點(diǎn)http://httpd.apache.org/download.cgi;(本文使用的apache_2.2.11-win32-x86-no_ssl.msi)·jk2模塊,jk是mod_jserv的替代者,它是Tomcat-Apache插件,處理Tomcat和Apache之間的通信,在集群配置中充當(dāng)負(fù)載均衡器的作用。JK2是符合apache2.x系列的新品,下載地址http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/
8、jk-1.2.28/。(本文使用的mod_jk-1.2.28-httpd-2.2.3.so)2.2配置負(fù)載均衡器在apache下配置負(fù)載均衡器分為三步,注意每次修改httpd.conf和workers.properties時(shí)不要忘了重新啟動(dòng)apache。?·第一步,安裝和調(diào)試apache負(fù)載均衡器jk2模塊是apachewww服務(wù)的插件,所以配置負(fù)載均衡器就得先安裝apache。本文下載的是wind