精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

透析在Web服務器中的Linux集群技術

責任編輯:Score

2011-10-04 08:31:56

摘自:機房360

本文簡要地討論了一個用于企業Web服務的集群系統的設計思路,并給出了重點模塊的設計與實現過程。

網絡的普及使各類電子商務、電子政務網站的流量劇增,系統瓶頸問題日益嚴重,直接影響了用戶請求的響應時間,在高峰期有的請求甚至被拒絕。面對這種情況,一般來說有兩種解決方案:一是升級硬件、購買性能更好的服務器等,但花費較多,而且效果不一定很理想,顯然不是最好的解決方案;二是利用集群技術,在原有的硬件投資基礎上,添加幾臺新的服務器,組建負載均衡集群系統。集群計算模式是比較經濟的計算模式,允許用戶把普通商用硬件系統組成機群,并根據需要隨時增加新的硬件。既提高了系統的性能,同時也降低了成本。本文簡要地討論了一個用于企業Web服務的集群系統的設計思路,并給出了重點模塊的設計與實現過程。

1.集群技術

集群技術是一種計算機系統之間連接的方式,運用它可以將分散的計算系統連接起來完成原來單獨節點的計算系統無法完成的任務。最早的集群系統就是出于這樣的并行處理的目的出現的。但是隨著計算機性能的快速發展和網絡不安全因素的增加,系統的穩定性和可靠性是主要面臨解決的問題。于是開始使用集群方式將兩臺以上的設備連接起來,當整個集群系統中發生單點或局部多點故障時,集群中其他的計算機將自動來接替出故障的設備。最典型的例子就是雙機熱備份,兩臺一樣的計算機系統,使用集群軟件連接起來,其中一臺作為另一臺的備份,當主機系統崩潰時,另一臺來接替它的任務。除此以外,利用集群系統的高并行性能進行復雜的科學、工程計算,也是非常有經濟價值的做法。

集群技術可以有效地解決開放系統的穩定、抗壓和負載平衡問題,建立一個集群系統的主要目的在于:

(1)現有的應用得以保障。

(2)提高性價比。

(3)實現資源共享。

(4)提高靈活性和可擴展性。

(5)增強實用性和容錯性。

(6)靈活的可伸縮性。

2.設計目標及系統架構

設計一個基于Linux的集群系統,它能夠不斷監視集群中各臺服務器的負載狀況,并且將來自外網的Web請求轉發到內部網中的某一臺實際服務器上執行。具體來說,擁有以下的功能:

(1)服務轉發。能接受來自外部網中的多種基于TCP/IP的服務請求,并將它們轉發到當前負載最輕的機器上執行。

(2)動態負載平衡。平衡器能夠監視內部網中的實際服務器的負載狀況并且找到負載最輕的機器。

(3)連接持續性。來自外網的同一客戶的所有請求必須轉發到內網中的同一臺服務器上進行處理。

該集群系統由調度機、服務器1、服務器2以及服務器N等機器組成。其中調度機作為內網和外網的接口。能夠接收外網的用戶請求.并將此用戶請求發送到服務器1到服務器N中的某臺機器上,當服務器處理完該請求以后,就將處理完的結果發送給調度機,然后再由調度機將結果返回給外部網的用戶。試驗環境中外網中的客戶機器的IP地址為211.80.248.100,調度機有兩個IP地址,一個是外網的211.80.248.99。一個是內網的192.168.1.1。調度機上運行的操作系統內核為Linux2.2.x。內部網中有N臺服務器,IP地址分別為192.168.1.2、192.168.1.3.。.192.168.1.N,上面運行的操作系統也是Linux操作系統.都將192.168.1.1設為網關.并且都增加了通往211.80.248.0網絡的路由。負載調度的目的就是將客戶發向調度機的請求按照內網機器當前負載的情況分發到各個服務器上。

系統實現了IP級的負載平衡。當外網客戶向調度機發送一個請求時,在調度機的IP層對此請求的目標地址進行替換.將目標地址替換為內網中負載最輕的服務器的IP地址。然后將此請求再次轉發出去。當內網中的服務器處理完請求后.將處理結果發往調度機,調度機再次在IP層將目標地址替換為發出請求的外網中的客戶的IP地址。然后將回應轉發給客戶。

系統主要分為IP偽裝模塊、IP端口轉發模塊和調度模塊。其中IP端口轉發模塊的實現比較簡單。只需在Linux的某個內核文件中增加適當的轉發規則,并調用IP偽裝模塊的功能就能實現,因此文中沒有詳細介紹該模塊。

3.IP偽裝

IP地址中的那些私有地址是無法直接與Internet上的機器通訊的,如果它們想與Internet上的機器通訊,需要采用網絡地址翻譯(NAT)機制。IP偽裝機制實際上就是一種M-1的動態網絡地址翻譯,它能夠將多個內網中的IP地址映射到一個與Internet相連接的外網IP地址上,這樣無法直接與Internet上的機器通訊的內網機器就可以通過這臺映射機器與外界進行聯絡。網絡地址端口翻譯是對網絡地址翻譯的一種擴展。它將許多網絡地址以及TCP/UDP端口翻譯為一個IP地址和TCP/UDP端口,本集群系統采用的就是網絡地址端口翻譯機制。為了使Linux支持IP偽裝,必須重新編譯Linux內核并安裝、激活IP偽裝模塊。

IP偽裝模塊的主要工作包括:

(1)接收內網發向外網的所有請求。

(2)內網中的連接請求通過調度機轉發到外網。

(3)將內網發向外網中的所有請求的源地址隱藏,使所有請求看上去都是由調度機發送的。

(4)建立HASH表來記錄已經建立的所有連接。

(5)接收外網對請求的回應并將其轉發到內網中的發出請求的機器上。

4.調度模塊

調度模塊是在應用層實現的,因為在應用層可以靈活地控制調度策略,可以采用靜態的調度策略,也可以采用動態的調度策略;同時可以提高系統的可擴展性,當Web站點的訪問量增大時,需要添加一臺新的服務器時,只要在應用程序中增加一項數據就可以實現。調度模塊的主要任務包括:

(1)調度機向各臺實際服務器發送收集負載信息的命令。

(2)各臺實際服務器分別運行獲取CPU運行隊列長度的程序。

(3)各臺機器將各自的CPU運行隊列長度信息回傳給調度機。

(4)調度機對各臺機器的CPU運行隊列長度進行比較,并選出CPU運行隊列長度最短的機器,認為此機器就是負最輕的機器。

(5)通過系統調用將負載最輕的機器的IP地址傳入IP端口轉發模塊。

5.總結

本集群系統實現了IP級的負載平衡,對IP報文進行目標地址改寫的工作主要在核心完成。這是因為這樣速度很快,省掉了從用戶到核心的通訊過程。該負載平衡系統主要具有以下功能:

(1)能夠對基于TCP/IP協議的多種服務如telnet、ftp、http等進行轉發。

(2)通過找出內網中當前負載最輕的服務器來響應用戶的請求,實現動態負載平衡。

(3)通過匹配Hash表項,來自同一個服務的多次請求能發送到同一臺內網的實際服務器上,保證連續性。

(4)能夠保證毫秒級的響應時間。

(5)用戶可以在應用程序中對內網的服務器的數目進行控制,具有良好的可伸縮性

(6)當某臺服務器出現故障時,能夠及時地發現,具有良好的容錯性。

當然,該系統還有很多需要完善的地方。如調度機應該雙機備份等等。在大型的應用級集群服務系統的實施過程當中,設計人員需要考慮更多的要素:業務資源設計、資源監測、負載均衡、故障轉移管理、可靠性、可用性和性能等若干方面。 

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 海阳市| 平果县| 永定县| 慈利县| 大埔县| 杭锦旗| 金川县| 晴隆县| 郁南县| 虹口区| 哈密市| 兴化市| 吉木萨尔县| 怀来县| 丰县| 宜良县| 嘉定区| 马山县| 武山县| 仁怀市| 迁安市| 龙南县| 屏山县| 张掖市| 积石山| 梁山县| 武隆县| 什邡市| 贵州省| 瓮安县| 河源市| 龙口市| 阿荣旗| 宝兴县| 郎溪县| 蒲城县| 郯城县| 拉萨市| 集安市| 济宁市| 枝江市|