1. 程式人生 > >負載均衡器技術Nginx和F5的優缺點對比

負載均衡器技術Nginx和F5的優缺點對比

對於資料流量過大的網路中,往往單一裝置無法承擔,需要多臺裝置進行資料分流,而負載均衡器就是用來將資料分流到多臺裝置的一個轉發器。
目前有許多不同的負載均衡技術用以滿足不同的應用需求,如軟/硬體負載均衡、本地/全域性負載均衡、更高網路層負載均衡,以及鏈路聚合技術。

我們使用的是軟負載均衡器Nginx,而農行用的是F5硬負載均衡器,這裡就簡單介紹下這兩種技術:
a.軟體負載均衡解決方案
在一臺伺服器的作業系統上,安裝一個附加軟體來實現負載均衡,如Nginx負載均衡(我們管理系統平臺使用的也是這款均衡器)。它的優點是基於特定環境、配置簡單、使用靈活、成本低廉,可以滿足大部分的負載均衡需求。

一、什麼是Nginx
Nginx (“engine x”) 是一個高效能的 HTTP 和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。 可以說Nginx 是目前使用最為廣泛的HTTP軟負載均衡器,其將原始碼以類BSD許可證的形式釋出(商業友好),同時因高效的效能、穩定性、豐富的功能集、示例配置檔案和低系統資源的消耗而聞名於業界。像騰訊、淘寶、新浪等大型門戶及商業網站都採用Nginx進行HTTP網站的資料分流。

二、Nginx的功能特點
1、工作在網路的7層之上,可以針對http應用做一些分流的策略,比如針對域名、目錄結構;
2、Nginx對網路的依賴比較小;
3、Nginx安裝和配置比較簡單,測試起來比較方便;
4、也可以承擔高的負載壓力且穩定,一般能支撐超過1萬次的併發;
5、Nginx可以通過埠檢測到伺服器內部的故障,比如根據伺服器處理網頁返回的狀態碼、超時等等,www.linuxidc.com 並且會把返回錯誤的請求重新提交到另一個節點,不過其中缺點就是不支援url來檢測;
6、Nginx對請求的非同步處理可以幫助節點伺服器減輕負載;
7、Nginx能支援http和Email,這樣就在適用範圍上面小很多;
8、不支援Session的保持、對Big request header的支援不是很好,另外預設的只有Round-robin和IP-hash兩種負載均衡演算法。

三、Nginx的原理
Nginx採用的是反向代理技術,代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時代理伺服器對外就表現為一個伺服器。反向代理負載均衡技術是把將來自internet上的連線請求以反向代理的方式動態地轉發給內部網路上的多臺伺服器進行處理,從而達到負載均衡的目的。
b.硬體負載均衡解決方案
直接在伺服器和外部網路間安裝負載均衡裝置,這種裝置我們通常稱之為負載均衡器。由於專門的裝置完成專門的任務,獨立於作業系統,整體效能得到大量提高,加上多樣化的負載均衡策略,智慧化的流量管理,可達到最佳的負載均衡需求。 一般而言,硬體負載均衡在功能、效能上優於軟體方式,不過成本昂貴,比如最常見的就是F5負載均衡器。
什麼是F5 BIG-IP
F5負載均衡器是應用交付網路的全球領導者F5 Networks公司提供的一個負載均衡器專用裝置,F5 BIG-IP LTM 的官方名稱叫做本地流量管理器,可以做4-7層負載均衡,具有負載均衡、應用交換、會話交換、狀態監控、智慧網路地址轉換、通用持續性、響應錯誤處理、IPv6閘道器、高階路由、智慧埠映象、SSL加速、智慧HTTP壓縮、TCP優化、第7層速率整形、內容緩衝、內容轉換、連線加速、快取記憶體、Cookie加密、選擇性內容加密、應用攻擊過濾、拒絕服務(DoS)攻擊和SYN Flood保護、防火牆—包過濾、包消毒等功能。
以下是F5 BIG-IP用作HTTP負載均衡器的主要功能:
  ①、F5 BIG-IP提供12種靈活的演算法將所有流量均衡的分配到各個伺服器,而面對使用者,只是一臺虛擬伺服器。
  ②、F5 BIG-IP可以確認應用程式能否對請求返回對應的資料。假如F5 BIG-IP後面的某一臺伺服器發生服務停止、宕機等故障,F5會檢查出來並將該伺服器標識為宕機,從而不將使用者的訪問請求傳送到該臺發生故障的伺服器上。這樣,只要其它的伺服器正常,使用者的訪問就不會受到影響。宕機一旦修復,F5 BIG-IP就會自動查證應用已能對客戶請求作出正確響應並恢復向該伺服器傳送。
  ③、F5 BIG-IP具有動態Session的會話保持功能。
  ④、F5 BIG-IP的iRules功能可以做HTTP內容過濾,根據不同的域名、URL,將訪問請求傳送到不同的伺服器。

方案優缺點對比
基於硬體的方式(F5)
優點:能夠直接通過智慧交換機實現,處理能力更強,而且與系統無關,負載效能強更適用於一大堆裝置、大訪問量、簡單應用
缺點:成本高,除裝置價格高昂,而且配置冗餘.很難想象後面伺服器做一個叢集,但最關鍵的負載均衡裝置卻是單點配置;無法有效掌握伺服器及應用狀態.
硬體負載均衡,一般都不管實際系統與應用的狀態,而只是從網路層來判斷,所以有時候系統處理能力已經不行了,但網路可能還來 得及反應(這種情況非常典型,比如應用伺服器後面記憶體已經佔用很多,但還沒有徹底不行,如果網路傳輸量不大就未必在網路層能反映出來)
基於軟體的方式(Nginx)
優點:基於系統與應用的負載均衡,能夠更好地根據系統與應用的狀況來分配負載。這對於複雜應用是很重要的,價效比高,實際上如果幾臺伺服器,用F5之類的硬體產品顯得有些浪費,而用軟體就要合算得多,因為伺服器同時還可以跑應用做叢集等。
缺點:負載能力受伺服器本身效能的影響,效能越好,負載能力越大。
綜述:對我們管理系統應用環境來說,由於負載均衡器本身不需要對資料進行處理,效能瓶頸更多的是在於後臺伺服器,通常採用軟負載均衡器已非常夠用且其商業友好的軟體原始碼授權使得我們可以非常靈活的設計,無逢的和我們管理系統平臺相結合。

相關推薦

負載衡器技術NginxF5優缺點對比

對於資料流量過大的網路中,往往單一裝置無法承擔,需要多臺裝置進行資料分流,而負載均衡器就是用來將資料分流到多臺裝置的一個轉發器。 目前有許多不同的負載均衡技術用以滿足不同的應用需求,如軟/硬體負載均衡、本地/全域性負載均衡、更高網路層負載均衡,以及鏈路聚合技術

F5-負載衡器 四層七層負載均衡的區別

簡單理解四層和七層負載均衡:   ① 所謂四層就是基於IP+埠的負載均衡;七層就是基於URL等應用層資訊的負載均衡;同理,還有基於MAC地址的二層負載均衡和基於IP地址的三層負載均衡。 換句換說,二層負載均衡會通過一個虛擬MAC地址接收請求,然後再分配到真實的MAC地址;三

負載衡器部署方式工作原理

硬件負載均衡 f5設備概述負載均衡(Load Balance)由於目前現有網絡的各個核心部分隨著業務量的提高,訪問量和數據流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的服務器設備根本無法承擔。在此情況下,如果扔掉現有設備去做大量的硬件升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提

nginx 負載衡器高可用

Nginx Nginx (engine x) 是一個高效能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器。Nginx Nginx 是一個很強大的高效能Web和反向代理伺服器,它具有很多非常優越的特性: 在連線高併發的情況下,Nginx是Apache伺

軟硬體負載衡器F5、Array、Nginx、LVS、HAProxy

PS:Nginx/LVS/HAProxy是目前使用最廣泛的三種負載均衡軟體,本人都在多個專案中實施過,參考了一些資料,結合自己的一些使用經驗,總結一下。一般對負載均衡的使用是隨著網站規模的提升根據不同的階段來使用不同的技術。具體的應用需求還得具體分析,如果是中小型的Web應用,比如日PV小於1000萬,用Ng

LVS負載衡器NATDR工作模式詳解

lvs 在試驗之前為了更好理解設置的參數,所以先講解一下命令。 一、lvs配置文件和命令: 程序包:ipvsadm(LVS管理工具) 配置文件:/etc/sysconfig/ipvsadm-config 【rpm -ql ipvsadm 查詢包的具體列表】 -A 在服務器列表中新添加一條新的虛擬服務

三大主流軟件負載衡器對比(LVS、Nginx、HAproxy)

LVS、Nginx HAproxy LVS: 1. 抗負載能力強,性能高,能達到F5的60%,對內存和CPU資源消耗比較低 2. 工作在網絡4層,通過VRRP協議(僅作代理之用),具體的流量是由linux內核來處理,因此沒有流量的產生。 3. 穩定,可靠性高,自身有完美的熱備方案(K

使用nginx作為HTTP負載衡器

跨多個應用程式例項的負載平衡是一種常用技術,用於優化資源利用率,最大化吞吐量,減少延遲並確保容錯配置。 可以使用nginx作為非常有效的HTTP負載平衡器,將流量分配到多個應用程式伺服器,並使用nginx提高Web應用程式的效能,可伸縮性和可靠性。 負載均衡方法 nginx支援以下負載平

理解OpenShift(1):網路之 Router Route Neutron 理解 (7): Neutron 是如何實現負載衡器虛擬化的

 理解OpenShift(1):網路之Router 和 Route   1. OpenShift 為什麼需要 Router 和 Route? 顧名思義,Router 是路由器,Route 是路由器中配置的路由。OpenShift 中的這兩個概念是為了解決從叢集外部(就是從除了叢集節點

京東基於DPDK技術的高效能四層負載衡器SKYLB

摘要 隨著京東業務的高速增長,作為應用入口的負載均衡,大流量大併發帶來的挑戰越來越嚴峻。本文主要介紹了京東商城設計和實踐的一套高可靠,高效能的負載均衡器,我們命名為SKYLB。是一個使用intel DPDK報文轉發庫,實現執行在通用X86伺服器上自研的分散式負載均衡服務。配合網路路由器的OSPF或者

F5 BIG-IP LTM 負載衡器 功能介紹 上篇

F5 BIG-IP本地流量管理器(LTM)可將網路轉變為靈捷的應用交付基礎架構。它是使用者和應用伺服器之間的全代理,它建立了一個提取層,用於確保應用流量的安全,並對應用流量進行優化和負載均衡。這樣,您便可以全面控制您的網路,不但可以輕鬆新增伺服器、消除業務中斷、提高應用效能,

三大主流軟體負載衡器對比(LVS VS Nginx VS Haproxy)

LVS: 1、抗負載能力強。抗負載能力強、效能高,能達到F5硬體的60%;對記憶體和cpu資源消耗比較低 2、工作在網路4層,通過vrrp協議轉發(僅作分發之用),具體的流量由linux核心處理,因此沒有流量的產生。 2、穩定性、可靠性好,自身有完美的熱備方案;(如:LV

F5 BIG-IP LTM 負載衡器 功能介紹 下篇

基於龐大的網路結構,叢集伺服器的使用帶來了不少流量等負載問題。那麼相對的,負載均衡的技術也應運而生。每一種技術都需要產品的支援,那麼現在我們來認識一下F5負載均衡器的一種。那麼首先我們先把產品的結構功能進行一下介紹。許多廠商推出了專用於平衡伺服器負載的負載均衡器,如F5 Ne

(轉發)三大主流軟體負載衡器對比(LVS VS Nginx VS Haproxy)

相對於Ngnix,我們公司最終選擇了HA。 LVS: 1、抗負載能力強。抗負載能力強、效能高,能達到F5硬體的60%;對記憶體和cpu資源消耗比較低 2、工作在網路4層,通過vrrp協議轉發(僅作分發之用),具體的流量由linux核心處理,因此沒有流量的產生。 2、穩定

AWS的自動部署工具codedeploy 負載衡器github

Elastic Load Balancing 提供了三種可用於 CodeDeploy 部署的負載均衡器:Classic Load

數據庫水平切分的實現原理解析——分庫,分表,主從,集群,負載衡器(轉)

支付 讀取 dba 我們 課題研究 穩定性 存在 use 根據 第1章 引言 隨著互聯網應用的廣泛普及,海量數據的存儲和訪問成為了系統設計的瓶頸問題。對於一個大型的互聯網應用,每天幾十億的PV無疑對數據庫造成了相當高的負載。對於系統的穩定性和擴展性造成了極大的問題。通過數

負載衡器——LVS

lvs lv-nat lv-dr LVS作為構建集群的一種負載均衡器,由章文嵩先生編寫,是當今世界上公認的最強的負載均衡器;負載均衡器主要適用於主機之間的資源分配太過緊張,系統性能過低,使用負載均衡器可以有效的讓多臺主機一起分擔訪問資源的壓力,由LVS調度器分配由客戶端請求的資源到後端的真實服

Google Maglev 牛逼的網絡負載衡器(轉)

均衡 下載 發送 span 路由器 體系 最重要的 選擇 tcp https://segmentfault.com/a/1190000009565788 Maglev 是什麽 Maglev 是谷歌搞的一個工作在三層(IP層)的網絡負載均衡器, 它是一個運行在普通的

Haproxy-10萬並發級別負載衡器

haproxyHaproxy第1章 前言首先,我們知道nginx負載均衡集群,LVS負載均衡集群,和haproxy負載集群,這三種集群比較來說,LVS性能最好,但是搭建相對復雜,nginx的upstream模塊支持集群負載,但是對web節點的健康檢查功能不多,性能也沒有haproxy好,這也是haproxy為

lvs keepalived 負載衡器

lvs keepalived lvs keepalived 實現負載均衡 環境 主機名 IP地址 os 軟件 lvs01 172.16.50.104 CentOS 7.4.1708 ipvsadm keepalived master lvs02 172.16.50.111 Cent