【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不可用或者資...