lvs與haproxy


最近一直在看一些高可用性的負載均衡方案,當然那些f5之類的硬件設備是玩不起也接觸不到了。只能看這些for free的開源方案。

目前使用比較多的就是標題中提到的這兩者,其實lvs和haproxy都是實現的負載均衡的作用,keepalived和heartbeat都是提高高可用性的,避免單點故障。那么他們為什么這么搭配,而又有什么區別呢?

經過一番google,大體明白了兩者的區別:

lvs的是通過vrrp協議進行數據包轉發的,提供的是4層的負載均衡。特點是效率高,只要你機器網卡抗的住就不是問題。
haproxy可以提供4層或7層的數據轉發服務,能做到7層的好處是可以根據服務所處的狀態等進行負載。

 

以上兩者只是實現了負載均衡,但是他們本身是明顯的單點故障,因此需要使用雙機軟件做熱備,來保證高可用性。keepalived可以通過檢測vrrp數據包來切換,因此更適合與lvs搭配。而heartbeat更適於和haproxy搭配。這樣就出現了這兩個應用比較多也比較經典的負載均衡的高可用性方案了。

原來一直想學習下這兩個方案,學會這4個軟件的配置,可又覺得永遠用不到吧?或者用到的時候說不定又出現了新的技術了。就是自己能用到了,反向代理一類的軟件足夠用了,squid偶是實在沒有心情學習了。對nginx的感覺還不錯,性能好是大家公認的,即可以做反向代理實現負載均衡,又通過geo模塊實現流量分離做全局(不同地域)的負載均衡,加上配置簡單,絕對是個人的首選,可以考慮搭配heartbeat實現高可用。

接下來的學習目標就簡化了,nginx的geo和heartbeat的配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM