負載均衡系統(tǒng)的結(jié)構(gòu)介紹
通過我們一些列的知識介紹,現(xiàn)在對于整體的系統(tǒng)結(jié)構(gòu),也就是負載均衡系統(tǒng)可能有些朋友還不是很清楚。現(xiàn)在我們針對這個問題進行一個總結(jié)和介紹。首先我們要對集群有一個認識,然后是對整體系統(tǒng)結(jié)構(gòu)的認識。
負載均衡系統(tǒng)搭建
集群技術(shù)是目前非常流行的提高系統(tǒng)服務能力與高可靠性(HA-HighAvailability)的手段,通過把多個獨立的服務器組成一個集群可以實現(xiàn)失效無縫轉(zhuǎn)移。也就是說當有某一臺集群中的服務器當機后,其上的用戶狀態(tài)數(shù)據(jù)可以無縫遷移到集群中的其他服務器上。這樣,正在使用應用的客戶可以完全感覺不到影響,大大提供了系統(tǒng)的可靠性。
集群有很多種類和層次,例如:操作系統(tǒng)集群(如Linux、Solaris等),數(shù)據(jù)庫集群(如DB2、Oracle等),應用服務器集群(如GlassFish、WebLogic等),Web集群(如Tomcat等)。本教程將向讀者介紹由GlassFish搭建的應用服務器集群以及由Tomcat搭建的Web集群。
不管是由什么技術(shù)搭建的集群,負載均衡系統(tǒng)其基本組成由:
每個集群都需要一個負載均衡器,其負責根據(jù)一定的算法將外界發(fā)送到集群的請求盡量均勻地分配到集群中的每個服務器,使得集群中所有服務器的負載盡量平衡。對外界的客戶端而言其并不知道具體訪問了集群中的哪臺服務器,多臺服務器從邏輯上對外界而言可以看作一臺“大"服務器。這樣,當集群的服務能力不能滿足當前的需要時,可以非常方便地再向集群中添加新的服務器來滿足需要。可以看出,使用了集群之后,系統(tǒng)具有非常好的可擴展性。
當不幸集群中有某臺服務器突然當機時,負載均衡系統(tǒng)中其用戶狀態(tài)數(shù)據(jù)可以遷移到其他服務器上,不影響在線用戶的使用。這樣,通過使用集群技術(shù)可以方便地實現(xiàn)系統(tǒng)的高可靠性。
本教程中將介紹的使用Tomcat搭建的Web集群結(jié)構(gòu):
集群的負載均衡器由開源的Apache服務器擔任,集群中的Web服務器由兩個Tomcat服務器分別擔任,后臺的數(shù)據(jù)庫服務器由一個MySQL服務器擔任。
在Tomcat中搭建集群負載均衡系統(tǒng)
Tomcat的安裝后,就可以開始搭建Tomcat集群了,具體步驟如下:
(1)將系統(tǒng)根目錄(/)下的“apache-tomcat-6.0.14"的文件夾改名為“TC6_A"。
提示:進行上述步驟操作的原因是,本案例中集群的各個負載均衡Tomcat服務器實例運行在同一個物理服務器上,因此集群中有幾個Tomcat實例一般就需要幾個Tomcat的安裝。另外,由于集群中的各個Tomcat實例位于同一個物理服務器上的一個操作系統(tǒng)下,因此各個實例占用的各種網(wǎng)絡(luò)端口不能相同,否則集群中的多個Tomcat實例不能同時正常啟動,下面的步驟將介紹如何修改Tomcat實例需要使用的各個網(wǎng)絡(luò)端口。
(4)打開“TC6_A"文件夾下“conf"文件夾下的“server.xml"文件以及“TC6_B"文件夾下“conf"文件夾下的“server.xml"文件。
說明:由于Apache作為Tomcat集群的負載均衡器,使用的是輪換算法,其均勻地將請求發(fā)送到集群中的各個Tomcat實例。因此,是輪換訪問兩個不同Tomcat實例中的Hello.jsp頁面的。當然,看到輪換的情況也就說明Apache負載均衡器正常工作了。
負載均衡系統(tǒng)中的壓力測試
Apache不但是一款非常優(yōu)秀的開源HTTP服務器,在安裝后其還自帶了一個非常方便的集群壓力測試工具ab。所謂對集群的壓力測試就是在同一時間段內(nèi)向集群集中發(fā)送一批請求,看集群的響應情況。根據(jù)響應的情況可以看出集群的配置是否優(yōu)良,是否能滿足業(yè)務負載的需要。下面就向讀者介紹ab壓力測試工具的使用,步驟如下:
(1)在終端中鍵入如下命令對Tomcat集群進行壓力測試。
cd/usr/local/apache2/bin
./ab–n200–c20
說明:“ab"命令中“-n"后的參數(shù)表示對Tomcat集群發(fā)送請求的次數(shù),“-c"后的參數(shù)表示每一次并發(fā)發(fā)送請求的數(shù)量。
(2)在執(zhí)行完上述命令后,系統(tǒng)會以文本方式顯示測試的結(jié)果