負載均衡比較 LVS,HAProxy和Nginx

2021-10-08 01:17:35 字數 1995 閱讀 3906

負載均衡(load balance)是應用於網際網路後台系統架構設計中的各層,它將請求均勻分攤到多個操作單元上執行。

專長

三種負載均衡軟體lvs、haproxy和nginx的優缺點說明如下:

lvs的優點:

1、效能最強、僅工作在第4層,tun和dr模式下回包不經過lvs,保證了均衡器io的效能受大流量的影響最小;

2、工作穩定,自身有完整的雙機熱備方案,如lvs+keepalived和lvs+heartbeat;

3、應用範圍比較廣,可以對所有應用做負載均衡;

lvs的缺點:

1、軟體本身不支援正則處理,不能做動靜分離,這就凸顯了nginx/haproxy+keepalived的優勢。

2、配置性比較低,如果**應用比較龐大,配置和維護過程就比較麻煩。

haproxy的優點:

1、haproxy是支援虛擬主機的,可以工作在4、7層(支援多網段);

2、支援url檢測後端的伺服器;

3、它跟lvs一樣,本身僅僅就只是一款負載均衡軟體;單純從效率上來講haproxy更會比nginx有更出色的負載均衡速度,在併發處理上也是優於nginx的;

4、haproxy的演算法較多,達到8種;

nginx的優點:

1、工作在osi第7層,可以針對http應用做一些分流的策略。比如針對網域名稱、目錄結構。它的正則比haproxy更為強大和靈活;

2、nginx對網路的依賴非常小,理論上能ping通就就能進行負載功能,這個也是它的優勢所在;

3、nginx安裝和配置比較簡單,測試起來比較方便;

4、nginx可以通過埠檢測到伺服器內部的故障,比如根據伺服器處理網頁返回的狀態碼、超時等等,並且會把返回錯誤的請求重新提交到另乙個節點;

5、nginx不僅僅是一款優秀的負載均衡器/反向**軟體,它同時也是功能強大的web應用伺服器。lnmp現在也是非常流行的web環境,大有和lamp環境分庭抗禮之勢,nginx在處理靜態頁面、特別是抗高併發方面相對apache有優勢;

6、nginx現在作為web反向加速快取越來越成熟了,速度比傳統的squid伺服器更快,有需求的朋友可以考慮用其作為反向**加速器;

nginx的缺點:

1、nginx不支援url來檢測;

2、nginx僅能支援http和email,這個它的弱勢;

應用

簡單地不負責任地說,效能上lvs>ha>nginx,功能性和便利性上nginx>ha>lvs。

對於乙個大型後台系統來說,lvs、haproxy和nginx常常可以配合使用在不同的層級,lvs用在接入層的最前端,承擔最大規模的流量分發;haproxy負責按網域名稱分流;而nginx只需要作為web伺服器負責單機內多例項的負載均衡,或負責目錄結構分流和靜態資源快取等需求。

所謂的四層與七層負載均衡,就是在對後台伺服器進行負載均衡時,依據osi四層的資訊或七層的資訊來決定怎麼樣**流量。比如四層負載均衡通過報文中的目標ip位址和埠,七層負載均衡通過報文中的應用層資訊(url、http頭部等資訊),選擇到達目的的內部伺服器。四層負載均衡在解包上的消耗更少,可以達到更高的效能。而七層負載演算法可以通過更多的應用層資訊分發請求,功能性上更強大。

七層負載均衡軟體可以通過url、cookie和http head等資訊,而不僅僅是ip埠分發流量,還可以修改客戶端的請求和伺服器的響應(例如http請求中的header的重寫),極大提公升了應用系統在網路層的靈活性。

在網路中常見的syn flood,黑客會對同一目標大量傳送syn報文,耗盡伺服器上的相關資源,以達到denial of service(dos)的目的。四層模式下這些syn都會被**到後端的伺服器上;而在七層模式下這些syn在負載均衡裝置上就截止,不會影響後台伺服器的正常運營。另外負載均衡裝置可以在七層層面設定多種策略,過濾sql injection等應用層面的特定手段,進一步提高系統整體安全。

詳細對比:

nginx負載均衡和lvs負載均衡的比較分析

2010 04 13 11 11 16 lvs和nginx都可以用作多機負載的方案,它們各有優缺,在生產環境中需要好好分析實際情況並加以利用。首先提醒,做技術切不可人云亦云,我雲即你雲 同時也不可太趨向保守,過於相信舊有方式而等別人來幫你做墊被測試。把所有即時聽說到的好東西加以鑽研,從 而提高自己對...

Nginx負載均衡和LVS負載均衡的比較分析

nginx負載均衡和lvs負載均衡的比較分析 lvs和nginx都可以用作多機負載的方案,它們各有優缺,在生產環境中需要好好分析實際情況並加以利用。首先提醒,做技術切不可人云亦云,我雲即你雲 同時也不可太趨向保守,過於相信舊有方式而等別人來幫你做墊被測試。把所有即時聽說到的好東西加以鑽研,從而提高自...

nginx負載均衡和lvs負載均衡的比較分析

lvs和nginx都可以用作多機負載的方案,它們各有優缺,在生產環境中需要好好分析實際情況並加以利用。首先提醒,做技術切不可人云亦云,我雲即你雲 同時也不可太趨向保守,過於相信舊有方式而等別人來幫你做墊被測試。把所有即時聽說到的好東西加以鑽研,從而提高自己對技術的認知和水平,乃是乙個好習慣。下面來分...