HAProxy負載均衡器後續篇

2021-09-21 16:16:12 字數 3254 閱讀 4508

【51cto.com 獨家特稿】雖然我們看

haproxy

的官方文件確實配置內容比較多,但其實我們用於線上環境,僅此幾條就夠用了,這也是大家說

haproxy

簡單的原因,

haproxy

的對應配置檔案如下所示:

加上日誌支援,如下所示:

#vim /etc/syslog.conf 

新增: 

local3.*        /var/log/haproxy.log 

local0.*        /var/log/haproxy.log 

#vim /etc/sysconfig/syslog 

修改: 

syslogd_options="-r -m 0"

service syslog restart 

這裡要注意的幾個地方是:

一、haproyx

採用的是

balance source

機制,它跟

lvs的

persistent

和nginx

的ip_hash

一樣,是讓客戶機訪問時始終訪問後端的某一台真實的

web伺服器;

二、203.93.236.149

是我的**通過

keepalived

生成的vip

位址;三、

是網頁臨近,如果

haproxy

檢測不到

web的根目錄下沒有

index.jsp

,就會產生

503報錯。

haproxy+keepalived/heartbeat

是我**的第二套方案,因為剛開始**上的

lvs+keepalived

高可用架構,後來幾個朋友說用手機測試時,**很慢,有時打不開,甚有的電腦也是這樣,我嘗試了以下確實如此;所以用了

haproxy+keepalived

以後發現**速度確實快多了,手機上一拍網也沒有這個問題了,由於

haproxy+keepalived

在東莞的客戶那裡已經部署得很成功了,所以後期我也考慮將此**設計成

haproyx+keepalived

這種架構的。

haproxy

的演算法有如下8種:

一、roundrobin

,表示簡單的輪詢,這個不多說,這個是負載均衡基本都具備的;

二、static-rr

,表示根據權重,建議關注;

三、leastconn

,表示最少連線者先處理,建議關注;

四、source

,表示根據請求源

ip,建議關注;

五、uri

,表示根據請求的

uri;

六、url_param

,表示根據請求的

url引數

'balance url_param' requires an url parameter name

七、hdr(name)

,表示根據

請求頭來鎖定每一次

請求;八、

rdp-cookie(name)

,表示根據據

cookie(name)

來鎖定並雜湊每一次

tcp請求。

其實這些演算法各有各的用法,我們平時應用得比較多的應該是

roundrobin

、source

和lestconn

,大家可以重點關注下。這裡我用

haproxy+keepalived

時沒有考慮

haproxy

程序級別的高

ha,一來是因為**也在用它作為負載均衡器,穩定性肯定不需要懷疑;二來在測試時發現確實相當的穩定,殺掉

haproxy

程序還必須用

kill -9

,所以沒有在這上面浪費時間了;在測試時也確實考慮過用

haproxy+keepalived

做雙主架構,後來發現不是太好維護就算了。

有一點要提醒大家,

haproxy

是支援虛擬主機的,我以前看過有些朋友說它是不支援的,這個其實很好驗證,我們做個

1+1的架構,後面隨便放台

nginx

或aapceh

的web

伺服器就可能驗證這種說法了;另外,經過與

nginx

的正則對比,我們也確實發現

haproxy

的正則處理能力上不如

nginx

的強大和靈活的,我們這裡也可以採取乙個折衷的方案,後面的

web伺服器我們都用

nginx

來作,如果是

jsp應用,可以用

nginx+tomat

,如果是跑

php的,可以用

nginx+fastcgi

(php5)。

Haproxy負載均衡器

haproxy 提供高可用性 負載均衡以及基於 tcp 和 http 應用的 支援虛擬主機。haproxy的特點是 1 支援兩種 模式 tcp 四層 和http 七層 支援虛擬主機 2 能夠補充nginx的一些缺點比如session的保持,cookie的引導等工作 3 支援url檢測後端的伺服器出問...

負載均衡器

負載均衡器f5 負載均衡是高可用網路基礎架構的關鍵元件,通常用於將工作負載分布到多個伺服器來提高 應用 資料庫或其他服務的效能和可靠性。負載均衡器可以處理什麼樣的請求?負載均衡器的管理員能主要為下面四種主要型別的請求設定 規則 負載均衡器如何選擇要 的後端伺服器?負載均衡器一般根據兩個因素來決定要將...

負載均衡器簡介

負載均衡器可以根據實際的響應時間制定優先順序交付決策,從而實現高效能 智慧型化流量管理,達到最佳的伺服器群效能。採用第七層應用控制還可以減少通訊高峰期的錯誤訊息,因為差錯控制和流量管理技術可以偵測到一些錯誤資訊,並透明地將會話重定向到另乙個伺服器,使使用者順利地進行使用。例如,伺服器 a不可用或者資...