LVS,Keepalived,HAproxy區別與聯系
-
LVS
全稱Linux Virtual Server,也就是Linux虛擬服務器,由章文嵩(現就職於於淘寶,正因為如此才出現了后來的fullnat模式)博士發起的Load Balance開源項目,官網地址:[www.linuxvirtualserver.org](http://) -
keepalived
keepalived是Linux下一個輕量級別的高可用解決方案。高可用(High Avalilability,HA),廣義上講,是指整個系統的高可用行,狹義上來說就是主機的冗余和接管; 為什么是輕量級呢,keepalived通過VRRP(Vritrual Router Redundancy Protocol,虛擬路由冗余協議)實現網絡不間斷穩定運行;與HeartBeat RoseHA相比,HeartBeat提供了完整的HA基本功能,比如:心跳檢測,資源接管,檢測集群中的服務,在集群節點轉移共享ip地址所有者等等。雖然功能強大,但是部署使用相對麻煩,而keepalived只需一個配置文件就可搞定; -
LVS與Keepalived的關系
keepalived起初是為LVS設計的,由於Keepalived可以實現對集群節點的狀態檢測,而IPVS可以實現負載均衡功能,因此,keepalived借助於第三方模塊IPVS就可以很方便的搭建出一套負載均衡系統,在這里有個誤區,由於keepalived可以和IPVS一起很好的工作,很多朋友以為Keepalived就是一款負載均衡軟件,這種理解是錯誤的,他們是互補的,keepalived是可以直接操作配置LVS的! 在keepalived當中IPVS模塊是可配置的,如果需要負載均衡功能,可以在編譯keepalived時打開負載均衡功能,也可以通過編譯參數關閉。 -
HAproxy
HAProxy提供高可用性、負載均衡以及基於TCP和HTTP應用的代理,支持虛擬主機,它是免費、快速並且可靠的一種解決方案。HAProxy特別適用於那些負載特大的web站點,這些站點通常又需要會話保持或七層處理。HAProxy運行在當前的硬件上,完全可以支持數以萬計的並發連接。並且它的運行模式使得它可以很簡單安全的整合進您當前的架構中, 同時可以保護你的web服務器不被暴露到網絡上。 HAProxy實現了一種事件驅動, 單一進程模型,此模型支持非常大的並發連接數。多進程或多線程模型受內存限制 、系統調度器限制以及無處不在的鎖限制,很少能處理數千並發連接。事件驅動模型因為在有更好的資源和時間管理的用戶空間(User-Space) 實現所有這些任務,所以沒有這些問題。此模型的弊端是,在多核系統上,這些程序通常擴展性較差。這就是為什么他們必須進行優化以 使每個CPU時間片(Cycle)做更多的工作。 -
LVS與HAproxy
LVS只工作在4層,沒有流量產生,使用范圍廣,對操作員的網絡素質要求較高; HAproxy及支持7層也支持4層的負載均衡,更專業; 推薦模式:F5/LVS<—>Haproxy<—>Squid/Varnish<—>AppServer
