Linux集群之負載平衡原理和實現演算法

2021-06-01 05:14:58 字數 811 閱讀 9783

在計算機硬體**下降、計算機網路拓撲發展的情況下,分布式計算機系統給使用者提供了乙個豐富的資源集合。人們在研究分布式系統時,就注意到了這樣乙個問題:在乙個由網路連線起來的多計算機環境中,在某一時刻,一些計算機的負載比較重,而另外一些計算機的負載卻比較輕。平衡各計算機之間的負載是任務分配與排程的乙個主要目標,它能夠提高整個系統的效能。

為了改善系統的效能,通過在多台計算機之間合理地分配負載,使各台計算機的負載基本均衡,這種計算能力共享的形式,通常被稱為負載平衡或負載共享。一般來說,"負載平衡"要達到的目標是使各台計算機之間的負載基本均衡,而"負載共享"意味著只是簡單的負載的重新分配。

負載平衡包括兩種,一種是靜態負載平衡,一種是動態負載平衡。只是利用系統負載的平均資訊,而忽視系統當前的負載狀況的方法被稱為靜態負載平衡。根據系統當前的負載狀況來調整任務劃分的方法被稱為動態負載平衡。

導致負載不平衡主要是由於:

某些演算法的迭代大小不是固定的,但迭代的大小在編譯時卻可以被求得;

某些演算法的迭代大小不是固定的,並且迭代的大小依賴於被處理的資料,在編譯時無法求得;

即使迭代大小是固定的,也會有許多不定因素導致計算速度的差異。

考察這三個原因,對第一種情況可在編譯時估計各迭代的工作量,按照處理節點的處理能力分布迭代,這就是靜態負載平衡的方法。對第

二、三種情況來說,必須採用動態負載平衡的手段,在執行過程中根據各個處理節點完成任務的情況,動態地遷移任務,實現動態負載平衡。進行動態負載平衡需要考察處理節點的處理能力,它的基本依據是根據處理節點先前的處理速度預見未來的處理速度。

負載平衡演算法

乙個負載平衡演算法都包含以下三個組成部分:

ActiveMQ 集群負載平衡

目前的架構 負載均衡方案 第二種方案呢,假設我們整個應用是個食堂,這個食堂裡面有好多飯口,每個飯口有好多大爺大媽 咦 每個飯口實現了高可用,即使有大媽不上班,還有大爺頂上。針對好多學生 使用者 實現了負載均衡,學生被基本均勻的分配到每乙個飯口上。食堂 應用 飯口 集群 大媽 伺服器 現在我們利用br...

配置HAProxy負載平衡集群

1 問題 準備4臺linux伺服器,兩台做web伺服器,1臺安裝haproxy,1臺做客戶端,實現如下功能 客戶端訪問haproxy,haproxy分發請求到後端real server 開啟haproxy監控頁面,及時檢視排程器狀態 設定haproxy為開機啟動 2 方案 使用4臺虛擬機器,1臺作為...

配置HAProxy負載平衡集群

步驟一 配置後端web伺服器 設定兩台後端web服務 如果已經配置完成,可用忽略此步驟 步驟二 部署haproxy伺服器配置網路,安裝軟體 echo net.ipv4.ip forward 1 sysctl.conf 開啟路由 sysctl p yum y install haproxy 修改配置檔...