我們知道,僅僅簡單的依靠提高硬件性能并不能真正解決網站負載均衡問題。因為單臺服務器的性能總是有限的,一般來講,一臺PC服務器所能提供的并發訪問處理能力大約為1000個,更為高檔的專用服務器能夠支持3000-5000個并發訪問,這樣的能力還是無法滿足負載較大的網站的要求。 尤其是網絡請求具有突發性,當某些重大事件發生時,網絡訪問就會急劇上升,從而造成網絡瓶頸。必須采用多臺服務器提供網絡服務,并將網絡請求分配給這些服務器分擔,才能提供處理大量并發服務的能力。
當使用多臺服務器來分擔負載的時候,最簡單的辦法是將不同的服務器用在不同的方面。按提供的內容進行分割時,可以將一臺服務器用于提供新聞頁面,而另一臺用于提供游戲頁面;或者可以按服務器的功能進行分割,將一臺服務器用于提供靜態頁面訪問,而另一些用于提供CGI等需要大量消耗資源的動態頁面訪問。然而由于網絡訪問的突發性,使得很難確定那些頁面造成的負載太大,如果將服務的頁面分割的過細就會造成很大浪費。
事實上造成負載過大的頁面常常是在變化中的,如果要經常按照負載變化來調整頁面所在的服務器,那么勢必對管理和維護造成極大的問題。因此這種分割方法只能是大方向的調整,對于大負載的網站,根本的解決辦法還需要應用負載均衡技術。
一、大型網站的整體網絡系統設計
某教育網站是一個大型遠程教育網站,可能涉及到多方面的網站應用,包括計算集中型的應用,讀寫頻繁的應用,比如網絡數據庫;傳輸量大的應用,比如流媒體服務;訪問量大的應用,比如WEB應用。
由于存在多方面的網站應用,因而對于網站系統,數據流量負載并不均勻。對于計算集中型的應用,服務器計算負荷會很大;對于讀寫頻繁的應用,存儲系統面臨考驗;對于傳輸量大的應用,網絡帶寬是關鍵;對于訪問量大的應用,防火墻和路由器成為瓶頸。
針對上述問題與分析,首先是要從硬件和網絡結構上盡量提高網絡和系統性能和效率。首先,采用高性能的PC服務器作為網絡服務器,提高服務器的計算和負載能力。采用大容量、高傳輸速率的存儲系統和利用RAID 5技術實現很高的讀寫速度和性能。對于流媒體服務和WEB應用,采用千兆技術實現到INTERNET的高速接入;選用高性能的防火墻用于提供內外網訪問和WEB發布服務的安全,同時,實現高效的WEB訪問。
二、網站負載均衡解決方案
某教育網站作為一個大型教育網站,業務量的發展將非常迅速,并且,網絡新的應用層出不窮,即使按照當前最優配置建設的網站系統,也很快會落后于網絡流量的發展。尤其是網站的核心部分,其數據流量和計算強度之大,使得單一設備根本無法承擔,而如何在完成同樣功能的多個網絡設備之間實現合理的業務量分配,使之不至于出現一臺設備過忙、而別的設備卻未充分發揮處理能力的情況,就成了一個問題,負載均衡機制也因此應運而生。
負載均衡建立在現有網絡結構之上,它提供了一種廉價有效的方法擴展服務器帶寬和增加吞吐量,加強網絡數據處理能力,提高網絡的靈活性和可用性。它主要完成以下任務:解決網絡擁塞問題,服務就近提供,實現地理位置無關性;為用戶提供更好的訪問質量;提高服務器響應速度;提高服務器及其他資源的利用效率;避免了網絡關鍵部位出現單點失效。
根據上述分析,流量負載可能在網絡中很多地方出現,因而負載均衡策略也應有多種多樣的形式。廣義上的負載均衡既可以設置專門的網關、負載均衡器,也可以通過一些專用軟件與協議來實現。在OSI七層協議模型中的第二、三、四、七層都有相應的負載均衡策略,例如:在數據鏈路層上,可以基于數據包的目的MAC地址選擇不同鏈路;在網絡層,可以用基于IP地址的分配方式,將數據流疏通到多個節點;而所謂第四層交換乃至第七層交換,本身便是一種基于訪問流量的控制方式,起到了負載均衡的作用。
因此,我們將從網絡的層次來闡述某教育網站的系統負載均衡方案。
1、帶均衡策略的服務器群集解決方案
某教育網站的Web服務器及其他應用服務器承載著重要的網站應用。然而,單一計算機可以提供有限級別的服務器可靠性和可伸縮性。但是,通過將兩個或兩個以上高級服務器的主機連成群集,網絡負載均衡就能夠提供關鍵任務服務器所需的可靠性和性能。
使用多服務器的分布式結構,將網站的WEB和其它應用分布在多臺服務器上,即將某教育網站的WEB和其它應用服務分布在4臺IBM x336服務器上。其中每臺服務器都具備等價的地位,都可以單獨對外提供服務而無須其他服務器的輔助。然后,通過天融信的NG FW4000防火墻將外部發送來的請求均勻分配到4臺服務器上,接收到連接請求的服務器都獨立回應客戶的請求。由于通過同步分發,建立內容完全一致的Web服務器并不困難,因此基于服務器集群的負載均衡技術是很容易實現的。
NG FW4000防火墻可以支持一個服務器陣列,這個陣列經過防火墻對外表現為單臺的服務器,防火墻將外部來的訪問在這些服務器之間進行均衡,同時可以識別出故障的服務器。防火墻的均衡策略如下:
順序選擇地址+權值。
根據PING的時間間隔來選擇地址+權值。
根據CONNECT的時間間隔來選擇地址+權值。
根據CONNECT然后發送請求并得到應答的時間間隔來選擇地址+權值。
2、采用SSL/XML加速的解決方案
由于某教育網站在網站應用系統建設中,要求應用系統模塊之間的接口采用XML標準和Web Service規范,同時,作為一個綜合性的大型網站,要求提供標準的在線交易功能和安全可靠的網上支付功能。因此,在網站網絡傳輸的內容上,SSL和XML將占用相當的服務器資源,會影響網絡的傳輸速度。
SSL(加密套接字協議層)是一種應用極為廣泛的WEB信息安全傳送協議。最初由Netscape開發以提供Internet上的安全連接和傳送,目前,98%的Web上的安全傳送都運用SSL。SSL已經成了安全互聯網交易中數據加密的工業標準,采用SSL的網站在1998年和1999年間增加了兩倍。由于SSL運用加密算法和密碼,其加密/解密過程需大量占用服務器的CPU資源,使CPU利用率接近100%,從而大大降低了服務器性能。當網絡用戶大大增加后,網絡性能將急劇降低,很可能用戶會因網絡響應欠佳而失去耐心離開網站。
電子商務時代,服務器反應速度至關重要,為根本解決SSL給服務器運行帶來的不利影響,必須采用專門設備處理SSL協議,以使服務器CPU從繁重的加密/解密過程中解脫出來。
如上圖所示,當使用SSL加速器時,所有非SSL數據流可以未受任何改變地通過加速器;但是當由SSL加密過的數據流經過SSL加速器時,進入的SSL數據流被解密并干凈地傳給服務器,而外流的SSL數據流被加密并傳向客戶。這樣服務器只需簡單地處理SSL請求,原本消耗眾多計算資源的HTTP/SSL現在被專用的SSL加速設備負責處理。使用了SSL加速器之后,系統每秒處理的安全連接數可由原來幾十個增長到數百個。當然,如果需要最大限度地利用服務器,也可以卸載SSL處理工作。
此外,SSL加速器可以實現靈活的動態堆疊,實行自動的“任務分擔”以得到最大的擴展能力。一般SSL加速器可以自動與所有類型的服務器協同運行,并可以支持一臺或多臺服務器。
XML(擴展標識語言)是SGML(標準通用標識語言)的一個子集,它已經快速取代EDI(電子數據交換)成為B2B網上交易的統一格式。事實已經證明,XML所采用的標準技術最適合Web開發。XML支持結構化的數據,可以更詳細地定義某個數據對象的數據結構,例如,描述產品,詳細定義該產品的生產廠、產品名、產品號、產地等信息,這種定義不僅為標記該產品提供方便,而且這種XML數據很容易按生產廠、產品名等排序,使用戶的查詢變得更方便。
XML加速器可以將XML交易進行分類,如按照商業合作伙伴名稱或類型、交易價值或數量以及時刻或時區為依據,配置業務優先級,從而提高響應速度,解放服務器資源,更快地處理交易。智能化的XML加速器可以使用多變量分類包括與、或,以滿足復雜業務的優先級要求。還有的XML加速器自身提供服務器的負載均衡,以達到快速、安全的目的。
(責任編輯:銘銘 mingming_ky#126.com TEL:(010)-68476636)