三大主流負載均衡

2022-08-09 04:48:10 字數 2335 閱讀 5213

lvs:

1、抗負載能力強。抗負載能力強、效能高,能達到f5硬體的60%;對記憶體和cpu資源消耗比較低

2、工作在網路4層,通過vrrp協議**(僅作分發之用),具體的流量由linux核心處理,因此沒有流量的產生。

2、穩定性、可靠性好,自身有完美的熱備方案;(如:lvs+keepalived)

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

4、不支援正則處理,不能做動靜分離。

5、支援負載均衡演算法:rr(輪循)、wrr(帶權輪循)、lc(最小連線)、wlc(權重最小連線)

6、配置 複雜,對網路依賴比較大,穩定性很高。

ngnix:

1、工作在網路的7層之上,可以針對http應用做一些分流的策略,比如針對網域名稱、目錄結構;

2、nginx對網路的依賴比較小,理論上能ping通就就能進行負載功能;

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

4、也可以承擔高的負載壓力且穩定,一般能支撐超過1萬次的併發;

5、對後端伺服器的健康檢查,只支援通過埠來檢測,不支援通過url來檢測。

6、nginx對請求的非同步處理可以幫助節點伺服器減輕負載;

7、nginx僅能支援http、https和email協議,這樣就在適用範圍較小。

8、不支援session的直接保持,但能通過ip_hash來解決。、對big request header的支援不是很好,

9、支援負載均衡演算法:round-robin(輪循)、weight-round-robin(帶權輪循)、ip-hash(ip雜湊)

10、nginx還能做web伺服器即cache功能。

haproxy的特點是:

1、支援兩種**模式:tcp(四層)和http(七層),支援虛擬主機;

2、能夠補充nginx的一些缺點比如session的保持,cookie的引導等工作

3、支援url檢測後端的伺服器出問題的檢測會有很好的幫助。

4、更多的負載均衡策略比如:動態加權輪循(dynamic round robin),加權源位址雜湊(weighted source hash),加權url雜湊和加權引數雜湊(weighted parameter hash)已經實現

5、單純從效率上來講haproxy更會比nginx有更出色的負載均衡速度。

6、haproxy可以對mysql進行負載均衡,對後端的db節點進行檢測和負載均衡。

9、支援負載均衡演算法:round-robin(輪循)、weight-round-robin(帶權輪循)、source(原位址保持)、ri(請求url)、rdp-cookie(根據cookie)

10、不能做web伺服器即cache。

三大主流軟體負載均衡器適用業務場景:

1、**建設初期,可以選用nigix/haproxy作為反向**負載均衡(或者流量不大都可以不選用負載均衡),因為其配置簡單,效能也能滿足一般的業務場景。如果考慮到負載均衡器是有單點問題,可以採用nginx+keepalived/haproxy+keepalived避免負載均衡器自身的單點問題。

2、**併發達到一定程度之後,為了提高穩定性和**效率,可以使用lvs、畢竟lvs比nginx/haproxy要更穩定,**效率也更高。不過維護lvs對維護人員的要求也會更高,投入成本也更大。

注:niginx與haproxy比較:niginx支援七層、使用者量最大,穩定性比較可靠。haproxy支援四層和七層,支援更多的負載均衡演算法,支援session儲存等。具體選型看使用場景,目前來說haproxy由於彌補了一些niginx的缺點使用者量也不斷在提公升。

衡量負載均衡器好壞的幾個重要因素: 

1、會話率 :單位時間內的處理的請求數 

2、會話併發能力:併發處理能力 

3、資料率:處理資料能力 

經過官方測試統計,haproxy 單位時間處理的最大請求數為20000個,可以同時維護40000-50000個併發連線,最大資料處理能力為10gbps。綜合上述,haproxy是效能優越的負載均衡、反向**伺服器。

總結haproxy主要優點:

一、免費開源,穩定性也是非常好,這個可通過我做的一些小專案可以看出來,單haproxy也跑得不錯,穩定性可以與lvs相媲美;

二、根據官方文件,haproxy可以跑滿10gbps-new benchmark of haproxy at 10 gbps using myricom's 10gbe nics (myri-10g pci-express),這個作為軟體級負載均衡,也是比較驚人的;

三、haproxy可以作為mysql、郵件或其它的非web的負載均衡,我們常用於它作為mysql(讀)負載均衡;

四、自帶強大的監控伺服器狀態的頁面,實際環境中我們結合nagios進行郵件或簡訊報警,這個也是我非常喜歡它的原因之一;

五、haproxy支援虛擬主機。

三 Ribbon負載均衡

負載均衡一般分為伺服器端負載均衡和客戶端負載均衡 在resttemplate上新增對應註解即可 bean ribbon負載均衡 loadbalanced public resttemplate getresttemplate ribbon內建了多種負載均衡策略,內部負責複雜均衡的頂級介面為 com....

Apache Tomcat 實現負載均衡 三

最近一直糾結這個apache tomcat的集群與負載均衡。糾結來糾結去也不徹底。每次學到一點就用blog記錄下來,用來以後看,以及和我一起糾結於此的青年們分享一下。今天說的是關於cluster的配置方式。網路上關於這裡的配置方式主要的就是兩種,一種是直接放開tomcat的注釋,還有一種就是中間會有...

三大主流iSCSI Initiator軟體對比分析

要實現iscsi讀寫,除了使用特定的硬裝置外,也可通過軟體方式,將伺服器 為iscsi的發起端或目標端,利用既有的處理器與普通的以太網路卡資源實現iscsi的連線。iscsi即internet scsi,是ietf制訂的一項儲存傳輸協議標準,用於將scsi資料區塊映像成乙太網資料封包。iscsi協議...