haproxy負載均衡演算法

2021-09-20 17:18:57 字數 1398 閱讀 3367

haproxy負載均衡演算法:

1、roundrobin

表示簡單的輪詢,每個伺服器根據權重輪流使用,在伺服器的處理時間平均分配的情況下這是最流暢和公平的演算法。該演算法是動態的,對於例項啟動慢的伺服器權重會在執行中調整。

2、leastconn

連線數最少的伺服器優先接收連線。leastconn建議用於長會話服務,例如ldap、sql、tse等,而不適合短會話協議。如http.該演算法是動態的,對於例項啟動慢的伺服器權重會在執行中調整。

3、static-rr

每個伺服器根據權重輪流使用,類似roundrobin,但它是靜態的,意味著執行時修改許可權是無效的。另外,它對伺服器的數量沒有限制。

該演算法一般不用;

4、source

對請求源ip位址進行雜湊,用可用伺服器的權重總數除以雜湊值,根據結果進行分配。只要伺服器正常,同乙個客戶端ip位址總是訪問同乙個伺服器。如果雜湊的結果隨可用伺服器數量而變化,那麼客戶端會定向到不同的伺服器;

該演算法一般用於不能插入cookie的tcp模式。它還可以用於廣域網上為拒絕使用會話cookie的客戶端提供最有效的粘連;

該演算法預設是靜態的,所以執行時修改伺服器的權重是無效的,但是演算法會根據「hash-type」的變化做調整。

5、uri

表示根據請求的uri左端(問號之前)進行雜湊,用可用伺服器的權重總數除以雜湊值,根據結果進行分配。只要伺服器正常,同乙個uri位址總是訪問同乙個伺服器。一般用於**快取和反病毒**,以最大限度的提高快取的命中率。該演算法只能用於http後端;

該演算法一般用於後端是快取伺服器;

該演算法預設是靜態的,所以執行時修改伺服器的權重是無效的,但是演算法會根據「hash-type」的變化做調整。

6、url_param

在http get請求的查詢串中查詢中指定的url引數,基本上可以鎖定使用特製的url到特定的負載均衡器節點的要求;

該演算法一般用於將同乙個使用者的資訊傳送到同乙個後端伺服器;

該演算法預設是靜態的,所以執行時修改伺服器的權重是無效的,但是演算法會根據「hash-type」的變化做調整。

7、hdr(name)

在每個http請求中查詢http頭,http頭將被看作在每個http請求,並針對特定的節點;

如果缺少頭或者頭沒有任何值,則用roundrobin代替;

該演算法預設是靜態的,所以執行時修改伺服器的權重是無效的,但是演算法會根據「hash-type」的變化做調整。

8、rdp-cookie(name)

為每個進來的tcp請求查詢並雜湊rdp cookie;

該機制用於退化的持久模式,可以使同乙個使用者或者同乙個會話id總是傳送給同一臺伺服器。如果沒有cookie,則使用roundrobin演算法代替;

該演算法預設是靜態的,所以執行時修改伺服器的權重是無效的,但是演算法會根據「hash-type」的變化做調整。

Haproxy負載均衡部署

haproxy安裝 useradd haproxy wget tar zxvf haproxy 1.4.25.tar.gz cd haproxy 1.4.25 make target linux26 prefix usr local haproxy arch x86 64 make install ...

ha proxy負載均衡架構

屬於7層 haproxy 提供高可用性 負載均衡以及基於 tcp 和 http 應用的 支援虛擬主機,它是免費 快速並且可靠的一種解決方案。根據官方資料,其最高極限支援 10g 的併發。haproxy 特別適用於那些負載特大的 web 站點,這些站點通常又需要會話保持或七層處理。haproxy 執行...

HAProxy 配置負載均衡

準備條件 1.安裝好haproxy 2.啟動兩個web應用伺服器,這裡啟動了兩個nginx nginx1 埠 8080 nginx2 埠 8081 都有乙個頁面 test.html,顯示的內容不同,nginx1 裡的test.html顯示 1,nginx2 裡的test.html顯示 2 目標配置h...