HAProxy是一款提供高可用性、負載均衡以及基於TCP(第四層)和HTTP(第七層)應用的代理軟件,HAProxy是完全免費的、借助HAProxy可以快速並且可靠的提供基於TCP和HTTP應用的代理解決方案。
(1)免費開源,穩定性也是非常好,這個可通過我做的一些小項目可以看出來,單Haproxy也跑得不錯,穩定性可以與硬件級的F5相媲美;
(2)根據官方文檔,HAProxy可以跑滿10Gbps-New benchmark of HAProxy at 10 Gbps using Myricom's 10GbE NICs (Myri-10G PCI-Express),這個數值作為軟件級負載均衡器是相當驚人的;官方測試的性能情況如下圖。
(3)HAProxy 支持連接拒絕 : 因為維護一個連接的打開的開銷是很低的,有時我們很需要限制攻擊蠕蟲(attack bots),也就是說限制它們的連接打開從而限制它們的危害。 這個已經為一個陷於小型DDoS攻擊的網站開發了而且已經拯救了很多站點,這個優點也是其它負載均衡器沒有的。
(4)HAProxy 支持全透明代理(已具備硬件防火牆的典型特點): 可以用客戶端IP地址或者任何其他地址來連接后端服務器. 這個特性僅在Linux 2.4/2.6內核打了cttproxy補丁后才可以使用. 這個特性也使得為某特殊服務器處理部分流量同時又不修改服務器的地址成為可能。
(5)HAProxy現多於線上的Mysql集群環境,我們常用於它作為MySQL(讀)負載均衡;
(6)自帶強大的監控服務器狀態的頁面,實際環境中我們結合Nagios進行郵件或短信報警,這個也是我非常喜歡它的原因之一;
(7)HAProxy支持虛擬主機,許多朋友說它不支持虛擬主機是錯誤的,通過測試我們知道,HAProxy是支持虛擬主機的。
HAProxy特別適用於那些負載特大的web站點, 這些站點通常又需要會話保持或七層處理。HAProxy運行在當前的硬件上,完全可以支持數以萬計的並發連接。並且它的運行模式使得它可以很簡單安全的整合進您當前的架構中, 同時可以保護你的web服務器不被暴露到網絡上。
在功能上,能以proxy反向代理方式實現WEB均衡負載,這樣的產品有很多。包括lvs,Nginx,ApacheProxy,lighttpd等。
國內生產環境上使用Haproxy的公司很多,例如淘寶的CDN系統
http://blog.chinaunix.net/uid/12924167/frmd/149251.html
http://www.andreagallazzi.com/2011/09/exchange-2010-haproxy-free-layer-4.html
http://www.stevieg.org/e2010haproxy/
http://www.rritw.com/a/qitazonghe/IBM_MQ___TLQ/20120730/153186.html
http://www.cnblogs.com/balaamwe/tag/Haproxy/
利用Haproxy實現http和TCP反向代理和負載均衡(入門和技術驗證)
[Erlang 0091] 另辟蹊徑構建RabbitMQ集群
http://blog.loadbalancer.org/load-balancing-exchange-2010-cas-array-with-haproxy/
http://blog.exceliance.fr/2012/11/07/websockets-load-balancing-with-haproxy/