HAProxy負載均衡策略
阿新 • • 發佈:2018-11-27
HAProxy是一個使用C語言編寫的自由及開放原始碼軟體,其提供高可用性、負載均衡,以及基於TCP和HTTP的應用程式代理。HAProxy是支援虛擬主機的,HAProxy的優點能夠補充Nginx的一些缺點,比如支援Session的保持,Cookie的引導。同時支援通過獲取指定的url來檢測後端伺服器的狀態。HAProxy跟LVS類似,本身就只是一款負載均衡軟體,單純從效率上來講HAProxy會比Nginx有更出色的負載均衡速度,在併發處理上也是優於Nginx的。HAProxy支援TCP協議的負載均衡轉發,可以對MySQL讀進行負載均衡,對後端的MySQL節點進行檢測和負載均衡,大家可以用LVS+Keepalived對MySQL主從做負載均衡。
HAProxy的負載均衡演算法現在具體有如下8種:
①roundrobin,表示簡單的輪詢,這個不多說,這個是負載均衡基本都具備的;
② static-rr,表示根據權重,建議關注;
③leastconn,表示最少連線者先處理,建議關注;
④ source,表示根據請求源IP,這個跟Nginx的IP_hash機制類似我們用其作為解決session問題的一種方法,建議關注;
⑤ri,表示根據請求的URI;
⑥rl_param,表示根據請求的URl引數’balance url_param’ requires an URL parameter name;
⑦hdr(name),表示根據HTTP請求頭來鎖定每一次HTTP請求;
⑧rdp-cookie(name),表示根據據cookie(name)來鎖定並雜湊每一次TCP請求。