負載均衡策略概論

2021-06-21 16:08:46 字數 2649 閱讀 8237

在實際應用中,我們可能不想僅僅是把客戶端的服務請求平均地分配給內部伺服器,而不管伺服器是否宕機。而是想使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,這樣才能在伺服器直接回應客戶端請求時順利的達成三次握手。

負載策略 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層的基本知識,然後才是本...