WEB集群與負載均衡

2021-09-30 14:46:10 字數 1942 閱讀 3729

負載均衡的作用是在多個節點之間按照一定的策略(演算法)分發網路或計算處理負載。負載均衡可以採用軟體和硬體來實現。一般的框架結構可以參考下圖。

後台的多個web節點上面有相同的web應用,使用者的訪問請求首先進入負載均衡分配節點(可能是軟體或者硬體),由它根據負載均衡策略(演算法)合理地分配給 某個web應用節點。每個web節點相同的內容做起來不難,所以選擇負載均衡策略(演算法)是個關鍵問題。下面會專門介紹均衡演算法。

目前,基於負載均衡的演算法主要有三種:輪循(round-robin)、最小連線數(least connections first),和快速響應優先(fasterresponse precedence)。

ø  輪循演算法,就是將來自網路的請求依次分配給集群中的節點進行處理。

ø  最小連線數演算法,就是為集群中的每台伺服器設定乙個記數器,記錄每個伺服器當前的連線數,負載均衡系統總是選擇當前連線數最少的伺服器分配任務。 這要比"輪循演算法"好很多,因為在有些場合中,簡單的輪循不能判斷哪個節點的負載更低。

ø  快速響應優先演算法,是根據群集中的節點的狀態(cpu、記憶體等主要處理部分)來分配任務。 這一點很難做到,事實上到目前為止,採用這個演算法的負載均衡系統還很少。尤其對於硬體負載均衡裝置來說,只能在tcp/ip協議方面做工作,幾乎不可能深入到伺服器的處理系統中進行監測。但是它是未來發展的方向。

上面是負載均衡常用的演算法,基於以上負載均衡演算法的使用方式上,又分為如下幾種:

最早的負載均衡技術是通過dns來實現的,在dns中為多個位址配置同乙個名字,因而查詢這個名字的客戶機將得到其中乙個位址,從而使得不同的客戶訪問不同的伺服器,達到負載均衡的目的。 

dns負載均衡是一種簡單而有效的方法,但是它不能區分伺服器的差異,也不能反映伺服器的當前執行狀態。當使用dns負載均衡的時候,必須盡量保證不同的客戶計算機能均勻獲得不同的位址。由於dns資料具備重新整理時間標誌,一旦超過這個時間限制,其他dns伺服器就需要和這個伺服器互動,以重新獲得位址資料,就有可能獲得不同ip位址。因此為了使位址能隨機分配,就應使重新整理時間盡量短,不同地方的dns伺服器能更新對應的位址,達到隨機獲得位址,然而將過期時間設定得過短,將使dns流量大增,而造成額外的網路問題。dns負載均衡的另乙個問題是,一旦某個伺服器出現故障,即使及時修改了dns設定,還是要等待足夠的時間(重新整理時間)才能發揮作用,在此期間,儲存了故障伺服器位址的客戶計算機將不能正常訪問伺服器。

使用**伺服器,可以將請求**給內部的伺服器,使用這種加速模式顯然可以提公升靜態網頁的訪問速度。然而,也可以考慮這樣一種技術,使用**伺服器將請求均勻**給多台伺服器,從而達到負載均衡的目的。 

這種**方式與普通的**方式有所不同,標準**方式是客戶使用**訪問多個外部伺服器,而這種**方式是**多個客戶訪問內部伺服器,因此也被稱為反向**模式。雖然實現這個任務並不算是特別複雜,然而由於要求特別高的效率,實現起來並不簡單。

使用反向**的好處是,可以將負載均衡和**伺服器的快取記憶體技術結合在一起,提供有益的效能。然而它本身也存在一些問題,首先就是必須為每一種服務都專門開發乙個反向**伺服器,這就不是乙個輕鬆的任務。 

**伺服器本身雖然可以達到很高效率,但是針對每一次**,**伺服器就必須維護兩個連線,乙個對外的連線,乙個對內的連線,因此對於特別高的連線請求, **伺服器的負載也就非常之大。反向**方式下能應用優化的負載均衡策略,每次訪問最空閒的內部伺服器來提供服務。但是隨著併發連線數量的增加,**伺服器本身的負載也變得非常大,最後反向**伺服器本身會成為服務的瓶頸。 

支援負載均衡的位址轉換閘道器,可以將乙個外部ip位址對映為多個內部ip位址,對每次tcp連線請求動態使用其中乙個內部位址,達到負載均衡的目的。很多硬體廠商將這種技術整合在他們的交換機中,作為他們第四層交換的一種功能來實現,一般採用隨機選擇、根據伺服器的連線數量或者響應時間進行選擇的負載均衡策略來分配負載。由於位址轉換相對來講比較接近網路的低層,因此就有可能將它整合在硬體裝置中,通常這樣的硬體裝置是區域網交換機。

集群與負載均衡

集群是一組協同工作的服務實體。當客戶請求到來時,集群內部的負載均衡器會比較均衡的把很多客戶的請求分布到集群環境下的計算和網路資源,也就是說,負載均衡是集群的乙個重要特性。集群的另外乙個特性就是錯誤恢復的能力,當乙個實體中的資源不能工作,另乙個實體中的資源透明的繼續完成任務的過程叫做錯誤恢復。集群實體...

Web集群 Nginx 負載均衡實戰

三颱虛擬機器 roel hostname ip 說明 proxy host node 1 192.168.74.153 nginx 主機 web server 1 node 2 192.168.74.162 web伺服器1 web server 2 node 3 192.168.74.163 web...

web集群服務的負載均衡方案選擇與實現

web集群服務的負載均衡方案選擇與實現 web應用伺服器集群系統,是由一群同時執行同乙個 web應用的伺服器組成的集群系統,在外界看來,就像是乙個伺服器一樣。為了均衡集群伺服器的負載,達到優化系統效能的目的,集群伺服器將眾多的訪問請求,分散到系統中的不同節點進行處理。從而實現了更高的有效性和穩定性,...