1.簡介
HAProxy是一個使用C語言編寫的自由及開放源代碼軟件,其提供高可用性、負載均衡,以及基於TCP和HTTP的應用程序代理。
HAProxy是一個免費的負載均衡軟件,可以運行於大部分主流的Linux操作系統上。
HAProxy提供了L4(TCP)和L7(HTTP)兩種負載均衡能力,具備豐富的功能。HAProxy的社區非常活躍,版本更新快速。最關鍵的是,HAProxy具備媲美商用負載均衡器的性能和穩定性。
因爲HAProxy的上述優點,它當前不僅僅是免費負載均衡軟件的首選,更幾乎成爲了唯一選擇。
2 核心功能
- 負載均衡:L4和L7兩種模式,支持RR/靜態RR/LC/IP Hash/URI Hash/URL_PARAM Hash/HTTP_HEADER Hash等豐富的負載均衡算法
- 健康檢查:支持TCP和HTTP兩種健康檢查模式
- 會話保持:對於未實現會話共享的應用集羣,可通過Insert Cookie/Rewrite Cookie/Prefix Cookie,以及上述的多種Hash方式實現會話保持
- SSL:HAProxy可以解析HTTPS協議,並能夠將請求解密爲HTTP後向後端傳輸
- HTTP請求重寫與重定向
- 監控與統計:HAProxy提供了基於Web的統計信息頁面,展現健康狀態和流量數據。基於此功能,使用者可以開發監控程序來監控HAProxy的狀態
3.HAProxy的關鍵特性
- 高性能
通常情況下,HAProxy自身只佔用15%的處理時間,剩餘的85%都是在系統內核層完成的 - 高穩定性
一旦成功啓動,除非操作系統或硬件故障,否則就不會崩潰