HAProxy 提供高可用性、負載均衡以及基於TCP和HTTP應用的代理,支持虛擬主機, 它是免費、快速並且可靠的一種解決方案。HAProxy特別適用於那些負載特大的web站點, 這些站點通常又需要會話保持或七層處理。HAProxy運行在當前的硬件上,完全可以支持數以萬計的並發連接。並且它的運行模式使得它可以很簡單安全的整 合進您當前的架構中, 同時可以保護你的web服務器不被暴露到網絡上。
HAProxy實現了一種事件驅動, 單一進程模型,此模型支持非常大的並 發連接數。多進程或多線程模型受內存限制 、系統調度器限制以及無處不在的鎖限制,很少能處理數千並發連接。事件驅動模型因為在有更好的資源和時間管理的用戶端(User-Space) 實現所有這些任務,所以沒有這些問題。此模型的弊端是,在多核系統上,這些程序通常擴展性較差。這就是為什麼他們必須進行優化以 使每個CPU時間片(Cycle)做更多的工作。
下圖是HAProxy的架構:
HAproxy 1.5.0 發布了第 9 個開發裡程碑版本,該版本主要改進內容:
-
新增日志子系統,支持定制日志格式
-
新增唯一ID生成器
-
完全重寫了整個緩沖管理和 HTTP 消息存儲
-
合並了 ACL 和模式獲取代碼,ACL 支持 IPv6、cookie、URL參數以及任意負荷
-
ACL 解析時更詳細的顯示錯誤報告
-
user-server 指令
-
bug 修復等等