負載均衡策略深入剖析

2021-06-03 15:09:52 字數 3881 閱讀 7516

負載均衡策略深入剖析

在實際應用中,我們可能不想僅僅是把客戶端的服務請求平均地分配給內部伺服器,而不管伺服器是否宕機。而是想使pentium iii伺服器比pentium ii能接受更多的服務請求,一台處理服務請求較少的伺服器能分配到更多的服務請求,出現故障的伺服器將不再接受服務請求直至故障恢復等等。

選擇合適的負載均衡策略,使多個裝置能很好的共同完成任務,消除或避免現有網路負載分布不均、資料流量擁擠反應時間長的瓶頸。在各負載均衡方式中,針對不同的應用需求,在osi參考模型的第

二、三、四、七層的負載均衡都有相應的負載均衡策略。

負載均衡策略的優劣及其實現的難易程度有兩個關鍵因素:一、負載均衡演算法,二、對網路系統狀況的檢測方式和能力。

考慮到服務請求的不同型別、伺服器的不同處理能力以及隨機選擇造成的負載分配不均勻等問題,為了更加合理的把負載分配給內部的多個伺服器,就需要應用相應的能夠正確反映各個伺服器處理能力及網路狀態的負載均衡演算法:

輪循均衡(round robin):每一次來自網路的請求輪流分配給內部中的伺服器,從1至n然後重新開始。此種均衡演算法適合於伺服器組中的所有伺服器都有相同的軟硬體配置並且平均服務請求相對均衡的情況。

權重輪循均衡(weighted round robin):根據伺服器的不同處理能力,給每個伺服器分配不同的權值,使其能夠接受相應權值數的服務請求。例如:伺服器a的權值被設計成1,b的權值是3,c的權值是6,則伺服器a、b、c將分別接受到10%、30%、60%的服務請求。此種均衡演算法能確保高效能的伺服器得到更多的使用率,避免低效能的伺服器負載過重。

隨機均衡(random):把來自網路的請求隨機分配給內部中的多個伺服器。

權重隨機均衡(weighted random):此種均衡演算法類似於權重輪循演算法,不過在處理請求分擔時是個隨機選擇的過程。

響應速度均衡(response time):負載均衡裝置對內部各伺服器發出乙個探測請求(例如ping),然後根據內部中各伺服器對探測請求的最快響應時間來決定哪一台伺服器來響應客戶端的服務請求。此種均衡演算法能較好的反映伺服器的當前執行狀態,但這最快響應時間僅僅指的是負載均衡裝置與伺服器間的最快響應時間,而不是客戶端與伺服器間的最快響應時間。

最少連線數均衡(least connection):客戶端的每一次請求服務在伺服器停留的時間可能會有較大的差異,隨著工作時間加長,如果採用簡單的輪循或隨機均衡演算法,每一台伺服器上的連線程序可能會產生極大的不同,並沒有達到真正的負載均衡。最少連線數均衡演算法對內部中需負載的每一台伺服器都有乙個資料記錄,記錄當前該伺服器正在處理的連線數量,當有新的服務連線請求時,將把當前請求分配給連線數最少的伺服器,使均衡更加符合實際情況,負載更加均衡。此種均衡演算法適合長時處理的請求服務,如ftp。

處理能力均衡:此種均衡演算法將把服務請求分配給內部中處理負荷(根據伺服器cpu型號、cpu數量、記憶體大小及當前連線數等換算而成)最輕的伺服器,由於考慮到了內部伺服器的處理能力及當前網路執行狀況,所以此種均衡演算法相對來說更加精確,尤其適合運用到第七層(應用層)負載均衡的情況下。

dns響應均衡(flash dns):在internet上,無論是http、ftp或是其它的服務請求,客戶端一般都是通過網域名稱解析來找到伺服器確切的ip位址的。在此均衡演算法下,分處在不同地理位置的負載均衡裝置收到同乙個客戶端的網域名稱解析請求,並在同一時間內把此網域名稱解析成各自相對應伺服器的ip位址(即與此負載均衡裝置在同一位地理位置的伺服器的ip位址)並返回給客戶端,則客戶端將以最先收到的網域名稱解析ip位址來繼續請求服務,而忽略其它的ip位址響應。在種均衡策略適合應用在全域性負載均衡的情況下,對本地負載均衡是沒有意義的。

儘管有多種的負載均衡演算法可以較好的把資料流量分配給伺服器去負載,但如果負載均衡策略沒有對網路系統狀況的檢測方式和能力,一旦在某台伺服器或某段負載均衡裝置與伺服器網路間出現故障的情況下,負載均衡裝置依然把一部分資料流量引向那台伺服器,這勢必造成大量的服務請求被丟失,達不到不間斷可用性的要求。所以良好的負載均衡策略應有對網路故障、伺服器系統故障、應用服務故障的檢測方式和能力:

ping偵測:通過ping的方式檢測伺服器及網路系統狀況,此種方式簡單快速,但只能大致檢測出網路及伺服器上的作業系統是否正常,對伺服器上的應用服務檢測就無能為力了。

tcp open偵測:每個服務都會開放某個通過tcp連線,檢測伺服器上某個tcp埠(如telnet的23口,http的80口等)是否開放來判斷服務是否正常。

http url偵測:比如向http伺服器發出乙個對main.html檔案的訪問請求,如果收到錯誤資訊,則認為伺服器出現故障。

負載均衡策略的優劣除受上面所講的兩個因素影響外,在有些應用情況下,我們需要將來自同一客戶端的所有請求都分配給同一臺伺服器去負擔,例如伺服器將客戶端註冊、購物等服務請求資訊儲存的本地資料庫的情況下,把客戶端的子請求分配給同一臺伺服器來處理就顯的至關重要了。有兩種方式可以解決此問題,一是根據ip位址把來自同一客戶端的多次請求分配給同一臺伺服器處理,客戶端ip位址與伺服器的對應資訊是儲存在負載均衡裝置上的;二是在客戶端瀏覽器cookie內做獨一無二的標識來把多次請求分配給同一臺伺服器處理,適合通過**伺服器上網的客戶端。

還有一種路徑外返回模式(out of path return),當客戶端連線請求傳送給負載均衡裝置的時候,中心負載均衡裝置將請求引向某個伺服器,伺服器的回應請求不再返回給中心負載均衡裝置,即繞過流量分配器,直接返回給客戶端,因此中心負載均衡裝置只負責接受並**請求,其網路負擔就減少了很多,並且給客戶端提供了更快的響應時間。此種模式一般用於http伺服器群,在各伺服器上要安裝一塊虛擬網路介面卡,並將其ip位址設為伺服器群的vip,這樣才能在伺服器直接回應客戶端請求時順利的達成三次握手。

負載均衡實施要素

負載均衡方案應是在**建設初期就應考慮的問題,不過有時隨著訪問流量的**性增長,超出決策者的意料,這也就成為不得不面對的問題。當我們在引入某種負載均衡方案乃至具體實施時,像其他的許多方案一樣,首先是確定當前及將來的應用需求,然後在代價與收效之間做出權衡。

針對當前及將來的應用需求,分析網路瓶頸的不同所在,我們就需要確立是採用哪一類的負載均衡技術,採用什麼樣的均衡策略,在可用性、相容性、安全性等等方面要滿足多大的需求,如此等等。

不管負載均衡方案是採用花費較少的軟體方式,還是購買代價高昂在效能功能上更強的第四層交換機、負載均衡器等硬體方式來實現,亦或其他種類不同的均衡技術,下面這幾項都是我們在引入均衡方案時可能要考慮的問題:

效能:效能是我們在引入均衡方案時需要重點考慮的問題,但也是乙個最難把握的問題。衡量效能時可將每秒鐘通過網路的資料報數目做為乙個引數,另乙個引數是均衡方案中伺服器群所能處理的最大併發連線數目,但是,假設乙個均衡系統能處理百萬計的併發連線數,可是卻只能以每秒2個包的速率**,這顯然是沒有任何作用的。 效能的優劣與負載均衡裝置的處理能力、採用的均衡策略息息相關,並且有兩點需要注意:一、均衡方案對伺服器群整體的效能,這是響應客戶端連線請求速度的關鍵;二、負載均衡裝置自身的效能,避免有大量連線請求時自身效能不足而成為服務瓶頸。 有時我們也可以考慮採用混合型負載均衡策略來提公升伺服器群的總體效能,如dns負載均衡與nat負載均衡相結合。另外,針對有大量靜態文件請求的站點,也可以考慮採用快取記憶體技術,相對來說更節省費用,更能提高響應效能;對有大量ssl/xml內容傳輸的站點,更應考慮採用ssl/xml加速技術。

可擴充套件性:it技術日新月異,一年以前最新的產品,現在或許已是網路中效能最低的產品;業務量的急速上公升,一年前的網路,現在需要新一輪的擴充套件。合適的均衡解決方案應能滿足這些需求,能均衡不同作業系統和硬體平台之間的負載,能均衡http、郵件、新聞、**、資料庫、防火牆和 cache等不同伺服器的負載,並且能以對客戶端完全透明的方式動態增加或刪除某些資源。

靈活性:均衡解決方案應能靈活地提供不同的應用需求,滿足應用需求的不斷變化。在不同的伺服器群有不同的應用需求時,應有多樣的均衡策略提供更廣泛的選擇。

可靠性:在對服務質量要求較高的站點,負載均衡解決方案應能為伺服器群提供完全的容錯性和高可用性。但在負載均衡裝置自身出現故障時,應該有良好的冗餘解決方案,提高可靠性。使用冗餘時,處於同乙個冗餘單元的多個負載均衡裝置必須具有有效的方式以便互相進行監控,保護系統盡可能地避免遭受到重大故障的損失。

負載策略 CMC負載均衡策略

負載均衡技術是一種用在多個網路連線 計算機 計算機集群 cpu 磁碟驅動器或其他資源中,進行負載分配,以達到最優化資源使用 最大化吞吐率 最小化響應時間 同時避免過載的技術。就例如在火車站 商場等較擁擠的地方,會設定多個出入口,管理人員把客戶分散到各個出入口,能大大縮短出入時間。負載均衡也一樣,cm...

負載均衡策略

1,對balancecode 乙個隨機數 簡單的取模,select balancecode m m為伺服器的數量 2,這時候,假如校驗select到的伺服器不可用。那麼。second balancecode m 1 select second select second second 1 效果就是把...

負載均衡策略

負載均衡裝置作為縱跨網路2 7層協議的裝置,往往放置在網路裝置和應用裝置的連線處,對工程師在網路和應用基本知識方面的要求遠高於其他裝置,所以我們要在基本功能的理解上下更多的功夫。負載均衡裝置還有另外乙個稱呼 4 7層交換機,但它首先是個2 3層交換機,這要求我們首先掌握2 3層的基本知識,然後才是本...