nginx lvs haproxy負載優缺點比較

2021-07-11 05:57:46 字數 2403 閱讀 3429

nginx的優點是:

1、工作在網路的7層之上,可以針對http應用做一些分流的策略,比如針對網域名稱、目錄結構,它的正則規則比haproxy更為強大和靈活,這也是它目前廣泛流行的主要原因之一,nginx單憑這點可利用的場合就遠多於lvs了。

2、nginx對網路穩定性的依賴非常小,理論上能ping通就就能進行負載功能,這個也是它的優勢之一;相反lvs對網路穩定性依賴比較大,這點本人深有體會;

3、nginx安裝和配置比較簡單,測試起來比較方便,它基本能把錯誤用日誌列印出來。lvs的配置、測試就要花比較長的時間了,lvs對網路依賴比較大。

3、可以承擔高負載壓力且穩定,在硬體不差的情況下一般能支撐幾萬次的併發量,負載度比lvs相對小些。

4、nginx可以通過埠檢測到伺服器內部的故障,比如根據伺服器處理網頁返回的狀態碼、超時等等,並且會把返回錯誤的請求重新提交到另乙個節點,不過其中缺點就是不支援url來檢測。比如使用者正在上傳乙個檔案,而處理該上傳的節點剛好在上傳過程中出現故障,nginx會把上傳切到另一台伺服器重新處理,而lvs就直接斷掉了,如果是上傳乙個很大的檔案或者很重要的檔案的話,使用者可能會因此而不滿。

5、nginx不僅僅是一款優秀的負載均衡器/反向**軟體,它同時也是功能強大的web應用伺服器。lnmp也是近幾年非常流行的web架構,在高流量的環境中穩定性也很好。

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

7、nginx可作為中層反向**使用,這一層面nginx基本上無對手,唯一可以對比nginx的就只有lighttpd了,不過lighttpd目前還沒有做到nginx完全的功能,配置也不那麼清晰易讀,社群資料也遠遠沒nginx活躍。

8、nginx也可作為靜態網頁和伺服器,這方面的效能也無對手。還有nginx社群非常活躍,第三方模組也很多。

nginx的缺點是:

1、nginx僅能支援http、https和email協議,這樣就在適用範圍上面小些,這個是它的缺點。

2、對後端伺服器的健康檢查,只支援通過埠來檢測,不支援通過url來檢測。不支援session的直接保持,但能通過ip_hash來解決。

lvs:使用linux核心集群實現乙個高效能、高可用的負載均衡伺服器,它具有很好的可伸縮性(scalability)、可靠性(reliability)和可管理性(manageability)。

lvs的優點是:

1、抗負載能力強、是工作在網路4層之上僅作分發之用,沒有流量的產生,這個特點也決定了它在負載均衡軟體裡的效能最強的,對記憶體和cpu資源消耗比較低。

2、配置性比較低,這是乙個缺點也是乙個優點,因為沒有可太多配置的東西,所以並不需要太多接觸,大大減少了人為出錯的機率。

3、工作穩定,因為其本身抗負載能力很強,自身有完整的雙機熱備方案,如lvs+keepalived,不過我們在專案實施中用得最多的還是lvs/dr+keepalived。

4、無流量,lvs只分發請求,而流量並不從它本身出去,這點保證了均衡器io的效能不會收到大流量的影響。

lvs的缺點是:

1、軟體本身不支援正規表示式處理,不能做動靜分離;而現在許多**在這方面都有較強的需求,這個是nginx/haproxy+keepalived的優勢所在。

2、如果是**應用比較龐大的話,lvs/dr+keepalived實施起來就比較複雜了,特別後面有windows?server的機器的話,如果實施及配置還有維護過程就比較複雜了,相對而言,nginx/haproxy+keepalived就簡單多了。

haproxy的特點是:

1、haproxy也是支援虛擬主機的。

2、haproxy的優點能夠補充nginx的一些缺點,比如支援session的保持,cookie的引導;同時支援通過獲取指定的url來檢測後端伺服器的狀態。

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

4、haproxy支援tcp協議的負載均衡**,可以對mysql讀進行負載均衡,對後端的mysql節點進行檢測和負載均衡,大家可以用lvs+keepalived對mysql主從做負載均衡。

5、haproxy負載均衡策略非常多,haproxy的負載均衡演算法現在具體有如下8種:

① roundrobin,表示簡單的輪詢,這個不多說,這個是負載均衡基本都具備的;

② static-rr,表示根據權重,建議關注;

③ leastconn,表示最少連線者先處理,建議關注;

⑤ ri,表示根據請求的uri;

⑥ rl_param,表示根據請求的url引數』balance url_param』 requires an url parameter name;

⑦ hdr(name),表示根據http請求頭來鎖定每一次http請求;

⑧ rdp-cookie(name),表示根據據cookie(name)來鎖定並雜湊每一次tcp請求。

Nginx LVS HAproxy負載均衡對比

1 工作在網路7層,可以針對http應用做一些分流的策略,比如針對網域名稱,目錄結構 2 nginx對網路的依賴較小,理論上能ping通就能進行敷在功能 3 nginx安裝配置比較簡單,測試起來很方便 4 也可以承擔較高的負載壓力且穩定,nginx是為了解決c10k問題而誕生的 5 對後端伺服器的健...

Nginx,LVS,HAProxy,負載均衡之選擇

nginx的優點 效能好,可以負載超過1萬的併發。功能多,除了負載均衡,還能作web伺服器,而且可以通過geo模組來實現流量分配。社群活躍,第三方補丁和模組很多 支援gzip proxy 缺點 不支援session保持。對後端reals erver的健康檢查功能效果不好。而且只支援通過埠來檢測,不支...

負載均衡 的原理 分發請求 優缺點

1,輪詢 將請求按時間順序逐一分配到不同的服務端,如果有檢測到一台伺服器宕機機會將請求分配到另一台伺服器 前提是伺服器的配置都一樣 2,權重 多個伺服器效能不均勻是 自動將不同的請求分配到伺服器使效能高的伺服器處理更多的請求 3,ip雜湊 ip hash 將請求的ip雜湊結果分配到同一臺伺服器,將每...