應(yīng)用簡介之網(wǎng)站負(fù)載均衡
介紹了很多負(fù)載均衡的知識,不知道大家掌握的怎么樣。筆者現(xiàn)在對這些知識已經(jīng)有了一個結(jié)構(gòu)上的梳理和學(xué)習(xí)了?,F(xiàn)在我們再來介紹一下服務(wù)器均衡的案例。說到服務(wù)器,現(xiàn)在上網(wǎng)瀏覽網(wǎng)站時,會發(fā)現(xiàn)一個問題,有的網(wǎng)站瀏覽起來會很卡,但是像一些大型門戶網(wǎng)站都不會有這種問題。那么這些就有可能是網(wǎng)站負(fù)載均衡的問題了。
我們知道,僅僅簡單的依靠提高硬件性能并不能真正解決網(wǎng)站負(fù)載均衡問題。因為單臺服務(wù)器的性能總是有限的,一般來講,一臺PC服務(wù)器所能提供的并發(fā)訪問處理能力大約為1000個,更為高檔的專用服務(wù)器能夠支持3000-5000個并發(fā)訪問,這樣的能力還是無法滿足負(fù)載較大的網(wǎng)站的要求。 尤其是網(wǎng)絡(luò)請求具有突發(fā)性,當(dāng)某些重大事件發(fā)生時,網(wǎng)絡(luò)訪問就會急劇上升,從而造成網(wǎng)絡(luò)瓶頸。必須采用多臺服務(wù)器提供網(wǎng)絡(luò)服務(wù),并將網(wǎng)絡(luò)請求分配給這些服務(wù)器分 擔(dān),才能提供處理大量并發(fā)服務(wù)的能力。
當(dāng)使用多臺服務(wù)器來分擔(dān)負(fù)載的時候,最簡單的辦法是將不同的服務(wù)器用在不同的方面。按提供的內(nèi)容進(jìn)行分割時,可以將一臺服務(wù)器用于提供新聞頁面,而另一臺用于提供游戲頁面;或者可以按服務(wù)器的功能進(jìn)行分割,將一臺服務(wù)器用于提供靜態(tài)頁面訪問,而另一些用于提供CGI等需要大量消耗資源的動態(tài)頁面訪問。然而由于網(wǎng)絡(luò)訪問的突發(fā)性,使得很難確定那些頁面造成的負(fù)載太大,如果將服務(wù)的頁面分割的過細(xì)就會造成很大浪費。
事實上造成負(fù)載過大的頁面常常是在變化中的,如果要經(jīng)常按照負(fù)載變化來調(diào)整頁面所在的服務(wù)器,那么勢必對管理和維護(hù)造成極大的問題。因此這種分割方法只能是大方向的調(diào)整,對于大負(fù)載的網(wǎng)站,根本的解決辦法還需要應(yīng)用負(fù)載均衡技術(shù)。
大型網(wǎng)站的整體網(wǎng)絡(luò)系統(tǒng)設(shè)計
某教育網(wǎng)站是一個大型遠(yuǎn)程教育網(wǎng)站,可能涉及到多方面的網(wǎng)站應(yīng)用,包括計算集中型的應(yīng)用,讀寫頻繁的應(yīng)用,比如網(wǎng)絡(luò)數(shù)據(jù)庫;傳輸量大的應(yīng)用,比如流媒體服務(wù);訪問量大的應(yīng)用,比如WEB應(yīng)用。
由于存在多方面的網(wǎng)站應(yīng)用,因而對于網(wǎng)站系統(tǒng),數(shù)據(jù)流量負(fù)載并不均勻。對于計算集中型的應(yīng)用,服務(wù)器計算負(fù)荷會很大;對于讀寫頻繁的應(yīng)用,存儲系統(tǒng)面臨考驗;對于傳輸量大的應(yīng)用,網(wǎng)絡(luò)帶寬是關(guān)鍵;對于訪問量大的應(yīng)用,防火墻和路由器成為瓶頸。
針對上述問題與分析,首先是要從硬件和網(wǎng)絡(luò)結(jié)構(gòu)上盡量提高網(wǎng)絡(luò)和系統(tǒng)性能和效率。首先,采用高性能的PC服務(wù)器作為網(wǎng)絡(luò)服務(wù)器,提高服務(wù)器的計算和負(fù)載能力。采用大容量、高傳輸速率的存儲系統(tǒng)和利用RAID 5技術(shù)實現(xiàn)很高的讀寫速度和性能。對于流媒體服務(wù)和WEB應(yīng)用,采用千兆技術(shù)實現(xiàn)到INTERNET的高速接入;選用高性能的防火墻用于提供內(nèi)外網(wǎng)訪問和WEB發(fā)布服務(wù)的安全,同時,實現(xiàn)高效的WEB訪問。
網(wǎng)站負(fù)載均衡解決方案
某教育網(wǎng)站作為一個大型教育網(wǎng)站,業(yè)務(wù)量的發(fā)展將非常迅速,并且,網(wǎng)絡(luò)新的應(yīng)用層出不窮,即使按照當(dāng)前最優(yōu)配置建設(shè)的網(wǎng)站系統(tǒng),也很快會落后于網(wǎng)絡(luò)流量的發(fā)展。尤其是網(wǎng)站的核心部分,其數(shù)據(jù)流量和計算強度之大,使得單一設(shè)備根本無法承擔(dān),而如何在完成同樣功能的多個網(wǎng)絡(luò)設(shè)備之間實現(xiàn)合理的業(yè)務(wù)量分配,使之不至于出現(xiàn)一臺設(shè)備過忙、而別的設(shè)備卻未充分發(fā)揮處理能力的情況,就成了一個問題,負(fù)載均衡機制也因此應(yīng)運而生。
負(fù)載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價有效的方法擴展服務(wù)器帶寬和增加吞吐量,加強網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高網(wǎng)絡(luò)的靈活性和可用性。它主要完成以下任務(wù):解決網(wǎng)絡(luò)擁塞問題,服務(wù)就近提供,實現(xiàn)地理位置無關(guān)性;為用戶提供更好的訪問質(zhì)量;提高服務(wù)器響應(yīng)速度;提高服務(wù)器及其他資源的利用效率;避免了網(wǎng)絡(luò)關(guān)鍵部位出現(xiàn)單點失效。
根據(jù)上述分析,流量負(fù)載可能在網(wǎng)絡(luò)中很多地方出現(xiàn),因而負(fù)載均衡策略也應(yīng)有多種多樣的形式。廣義上的負(fù)載均衡既可以設(shè)置專門的網(wǎng)關(guān)、負(fù)載均衡器,也可以通過一些專用軟件與協(xié)議來實現(xiàn)。在OSI七層協(xié)議模型中的第二、三、四、七層都有相應(yīng)的負(fù)載均衡策略,例如:在數(shù)據(jù)鏈路層上,可以基于數(shù)據(jù)包的目的MAC地址選擇不同鏈路;在網(wǎng)絡(luò)層,可以用基于IP地址的分配方式,將數(shù)據(jù)流疏通到多個節(jié)點;而所謂第四層交換乃至第七層交換,本身便是一種基于訪問流量的控制方式,起到了網(wǎng)站負(fù)載均衡的作用。
因此,我們將從網(wǎng)絡(luò)的層次來闡述某教育網(wǎng)站負(fù)載均衡方案。
◆帶均衡策略的服務(wù)器群集解決方案
某教育網(wǎng)站的Web服務(wù)器及其他應(yīng)用服務(wù)器承載著重要的網(wǎng)站應(yīng)用。然而,單一計算機可以提供有限級別的服務(wù)器可靠性和可伸縮性。但是,通過將兩個或兩個以上高級服務(wù)器的主機連成群集,網(wǎng)站負(fù)載均衡就能夠提供關(guān)鍵任務(wù)服務(wù)器所需的可靠性和性能。
使用多服務(wù)器的分布式結(jié)構(gòu),將網(wǎng)站的WEB和其它應(yīng)用分布在多臺服務(wù)器上,即將某教育網(wǎng)站的WEB和其它應(yīng)用服務(wù)分布在4臺IBM x336服務(wù)器上。其中每臺服務(wù)器都具備等價的地位,都可以單獨對外提供服務(wù)而無須其他服務(wù)器的輔助。然后,通過天融信的NG FW4000防火墻將外部發(fā)送來的請求均勻分配到4臺服務(wù)器上,接收到連接請求的服務(wù)器都獨立回應(yīng)客戶的請求。由于通過同步分發(fā),建立內(nèi)容完全一致的Web服務(wù)器并不困難,因此基于服務(wù)器集群的負(fù)載均衡技術(shù)是很容易實現(xiàn)的。
NG FW4000防火墻可以支持一個服務(wù)器陣列,這個陣列經(jīng)過防火墻對外表現(xiàn)為單臺的服務(wù)器,防火墻將外部來的訪問在這些服務(wù)器之間進(jìn)行均衡,同時可以識別出故障的服務(wù)器。防火墻的均衡策略如下:
順序選擇地址+權(quán)值。
根據(jù)PING的時間間隔來選擇地址+權(quán)值。
根據(jù)CONNECT的時間間隔來選擇地址+權(quán)值。
根據(jù)CONNECT然后發(fā)送請求并得到應(yīng)答的時間間隔來選擇地址+權(quán)值。