Liunx 三大主流(LVS、Nginx、HAproxy)負載均衡對比

    LVS:

    1.抗負載能力強,性能高,能達到F5的60%,對內存和cpu資源消耗比較低

    2.工作在網絡4層,通過VRRP協議(僅做代理使用),具體的流量是由liunx內核來處理,因此沒有流量的產生。

    3.穩定,可靠性強,自身有完美的熱備方案(Keepalived+LVS)

    4.不支持正則處理,不能做動靜分離

    5.支持多種負載均衡算法:rr(輪詢),wrr(帶權輪詢)、lc(最小連接)、wlc(帶權最小連接)

    6.配置相對複雜,對網絡依賴比較大,穩定性很高。

    7.LVS工作模式有4種:

     (1)nat地址轉換

     (2)dr直接路由

     (3)tun隧道

     (4)full-nat


   Nginx:

   1.工作在網絡7層,可以針對http應用做一些分流的策略,比如針對域名,目錄結構

   2.Nginx對網絡的依賴較小,理論上能ping通就能進行敷在功能

   3.Nginx安裝配置比較簡單,測試起來很方便

   4.也可以承擔較高的負載壓力且穩定,Nginx是爲了解決c10k問題而誕生的 

   5.對後端服務器的健康檢查,只支持通過端口來檢測,不支持通過url來檢測

   6.Nginx對請求的異步處理可以幫助節點服務器減輕負載壓力

   7.Nginx僅能支持http、https和Email協議,這樣就在適用範圍較小

   8.不支持Session的直接保持,但能通過ip_hash來解決,對Big request header的支持不是很好

   9.Nginx還能做Web服務器即Cache功能。

   


  HAproxy:

   1.支持兩種代理模式:TCP(四層)和HTTP(七層),支持虛擬主機

   2.能夠補充Nginx的一些缺點比如Session的保持,Cookie引導等工作

   3.支持url檢測後端的服務器出問題的檢測會有很好的幫助。

   4.更多負載均衡策略比如:動態加權輪循,加權源地址哈希,加權URL哈希加權等參數哈希已經實現。

  5.單純從效率上來講HAproxy更會比Nginx有更出色的負載均衡

  6.HAproxy可以對MYsql進行負載均衡,對後端的DB節點進行檢測和負載均衡

  7.支持負載均衡算法:輪循、帶權輪循、源地址保持、請求URL、根據Cookie

  8.不能做Web服務器即Cache。


  三大主流軟件負載均衡器適用的生產場景:

  1.網站建設初期,可以選用Nginx、HAproxy作爲反向代理負載均衡(流量不大時可以選擇不用負載均衡)因爲其配置簡單,性能也能滿足一般業務場景。如果考慮到負載均衡器是有單點失敗問題,可以採用Nginx+Keepalived避免負載均衡器自身單點問題。

  2.網站並發達到一定程度後,爲了提高穩定性和轉發效率,可以使用LVS,畢竟LVS比Nginx/HAproxy要更穩定,轉發效率也高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章