下文給大家?guī)硎裁词?a title="負(fù)載均衡" target="_blank" >負(fù)載均衡?優(yōu)點有哪些?為什么需要負(fù)載均衡?負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計的經(jīng)驗來做一個解答。
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、網(wǎng)站設(shè)計與策劃設(shè)計,新?lián)峋W(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:新?lián)岬鹊貐^(qū)。新?lián)嶙鼍W(wǎng)站價格咨詢:18980820575
拔了一篇文章,不容易找到一個。
然后是對負(fù)載均衡介紹比較詳細(xì)的一篇文章了:https://www.jianshu.com/p/9826d866080a
總結(jié)一下吧:
1.什么是負(fù)載均衡
負(fù)載均衡 建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和云服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。
2.負(fù)載均衡分類
負(fù)載均衡根據(jù)所采用的設(shè)備對象(軟/硬件負(fù)載均衡),應(yīng)用的OSI網(wǎng)絡(luò)層次(網(wǎng)絡(luò)層次上的負(fù)載均衡),及應(yīng)用的地理結(jié)構(gòu)(本地/全局負(fù)載均衡)等來分類。本文著重介紹的是根據(jù)應(yīng)用的 OSI網(wǎng)絡(luò)層次來分類的兩個負(fù)載均衡類型。
我們先來看一張圖,相信很多同學(xué)對這張圖都不陌生,這是一張網(wǎng)絡(luò)模型圖,包含了 OSI模型及 TCP/IP模型,兩個模型雖然有一點點區(qū)別,但主要的目的是一樣的,模型圖描述了通信是怎么進(jìn)行的。它解決了實現(xiàn)有效通信所需要的所有過程,并將這些過程劃分為邏輯上的層。層可以簡單地理解成數(shù)據(jù)通信需要的步驟。
二層負(fù)載均衡(mac)
根據(jù)OSI模型分的二層負(fù)載,一般是用虛擬mac地址方式,外部對虛擬MAC地址請求,負(fù)載均衡接收后分配后端實際的MAC地址響應(yīng)。
三層負(fù)載均衡(ip)
一般采用虛擬IP地址方式,外部對虛擬的ip地址請求,負(fù)載均衡接收后分配后端實際的IP地址響應(yīng)。
四層負(fù)載均衡(tcp)
在三層負(fù)載均衡的基礎(chǔ)上,用ip+port接收請求,再轉(zhuǎn)發(fā)到對應(yīng)的機(jī)器。
七層負(fù)載均衡(http)
根據(jù)虛擬的url或IP,主機(jī)名接收請求,再轉(zhuǎn)向相應(yīng)的處理服務(wù)器。
在實際應(yīng)用中,比較常見的就是四層負(fù)載及七層負(fù)載。這里也重點說下這兩種負(fù)載。
3.四層負(fù)載均衡(基于IP+端口的負(fù)載均衡)
所謂四層負(fù)載均衡,也就是主要通過報文中的目標(biāo)地址和端口,再加上負(fù)載均衡設(shè)備設(shè)置的服務(wù)器選擇方式,決定最終選擇的內(nèi)部服務(wù)器。
layer4
在三層負(fù)載均衡的基礎(chǔ)上,通過發(fā)布三層的IP地址(VIP),然后加四層的端口號,來決定哪些流量需要做負(fù)載均衡,對需要處理的流量進(jìn)行NAT處理,轉(zhuǎn)發(fā)至后臺服務(wù)器,并記錄下這個TCP或者UDP的流量是由哪臺服務(wù)器處理的,后續(xù)這個連接的所有流量都同樣轉(zhuǎn)發(fā)到同一臺服務(wù)器處理。
以常見的TCP為例,負(fù)載均衡設(shè)備在接收到第一個來自客戶端的SYN請求時,即通過上述方式選擇一個最佳的服務(wù)器,并對報文中目標(biāo)IP地址進(jìn)行修改(改為后端服務(wù)器IP),直接轉(zhuǎn)發(fā)給該服務(wù)器。TCP的連接建立,即三次握手是客戶端和服務(wù)器直接建立的,負(fù)載均衡設(shè)備只是起到一個類似路由器的轉(zhuǎn)發(fā)動作。在某些部署情況下,為保證服務(wù)器回包可以正確返回給負(fù)載均衡設(shè)備,在轉(zhuǎn)發(fā)報文的同時可能還會對報文原來的源地址進(jìn)行修改。
對應(yīng)的負(fù)載均衡器稱為四層交換機(jī)(L4 switch),主要分析IP層及TCP/UDP層,實現(xiàn)四層負(fù)載均衡。此種負(fù)載均衡器不理解應(yīng)用協(xié)議(如HTTP/FTP/MySQL等等)
要處理的流量進(jìn)行NAT處理,轉(zhuǎn)發(fā)至后臺服務(wù)器,并記錄下這個TCP或者UDP的流量是由哪臺服務(wù)器處理的,后續(xù)這個連接的所有流量都同樣轉(zhuǎn)發(fā)到同一臺服務(wù)器處理。
實現(xiàn)四層負(fù)載均衡的軟件有:
F5:硬件負(fù)載均衡器,功能很好,但是成本很高。
lvs:重量級的四層負(fù)載軟件
nginx:輕量級的四層負(fù)載軟件,帶緩存功能,正則表達(dá)式較靈活
haproxy:模擬四層轉(zhuǎn)發(fā),較靈活
4.七層的負(fù)載均衡(基于虛擬的URL或主機(jī)IP的負(fù)載均衡)
所謂七層負(fù)載均衡,也稱為“內(nèi)容交換”,也就是主要通過報文中的真正有意義的應(yīng)用層內(nèi)容,再加上負(fù)載均衡設(shè)備設(shè)置的服務(wù)器選擇方式,決定最終選擇的內(nèi)部服務(wù)器。
layer7
在四層負(fù)載均衡的基礎(chǔ)上(沒有四層是絕對不可能有七層的),再考慮應(yīng)用層的特征,比如同一個Web服務(wù)器的負(fù)載均衡,除了根據(jù)VIP加80端口辨別是否需要處理的流量,還可根據(jù)七層的URL、瀏覽器類別、語言來決定是否要進(jìn)行負(fù)載均衡。舉個例子,如果你的Web服務(wù)器分成兩組,一組是中文語言的,一組是英文語言的,那么七層負(fù)載均衡就可以當(dāng)用戶來訪問你的域名時,自動辨別用戶語言,然后選擇對應(yīng)的語言服務(wù)器組進(jìn)行負(fù)載均衡處理。
以常見的TCP為例,負(fù)載均衡設(shè)備如果要根據(jù)真正的應(yīng)用層內(nèi)容再選擇服務(wù)器,只能先代理最終的服務(wù)器和客戶端建立連接(三次握手)后,才可能接受到客戶端發(fā)送的真正應(yīng)用層內(nèi)容的報文,然后再根據(jù)該報文中的特定字段,再加上負(fù)載均衡設(shè)備設(shè)置的服務(wù)器選擇方式,決定最終選擇的內(nèi)部服務(wù)器。負(fù)載均衡設(shè)備在這種情況下,更類似于一個代理服務(wù)器。負(fù)載均衡和前端的客戶端以及后端的服務(wù)器會分別建立TCP連接。所以從這個技術(shù)原理上來看,七層負(fù)載均衡明顯的對負(fù)載均衡設(shè)備的要求更高,處理七層的能力也必然會低于四層模式的部署方式。
對應(yīng)的負(fù)載均衡器稱為七層交換機(jī)(L7 switch),除了支持四層負(fù)載均衡以外,還有分析應(yīng)用層的信息,如HTTP協(xié)議URI或Cookie信息,實現(xiàn)七層負(fù)載均衡。此種負(fù)載均衡器能理解應(yīng)用協(xié)議。
實現(xiàn)七層負(fù)載均衡的軟件有:
haproxy:天生負(fù)載均衡技能,全面支持七層代理,會話保持,標(biāo)記,路徑轉(zhuǎn)移;
nginx:只在http協(xié)議和mail協(xié)議上功能比較好,性能與haproxy差不多;
apache:功能較差
Mysql proxy:功能尚可。
5.兩者之間的區(qū)別
舉個例子形象的說明:四層負(fù)載均衡就像銀行的自助排號機(jī),每一個達(dá)到銀行的客戶根據(jù)排號機(jī)的順序,選擇對應(yīng)的窗口接受服務(wù);而七層負(fù)載均衡像銀行大堂經(jīng)理,先確認(rèn)客戶需要辦理的業(yè)務(wù),再安排排號。這樣辦理理財、存取款等業(yè)務(wù)的客戶,會根據(jù)銀行內(nèi)部資源得到統(tǒng)一協(xié)調(diào)處理,加快客戶業(yè)務(wù)辦理流程。
| |四層負(fù)載均衡(layer 4) |七層負(fù)載均衡(layer 7) |
+----------+-------------------------+--------------------------------------------------+
|基于 |基于IP+Port的 |基于虛擬的URL或主機(jī)IP等。 |
+----------+-------------------------+--------------------------------------------------+
|類似于 |路由器 |代理服務(wù)器 |
+----------+-------------------------+--------------------------------------------------+
|握手次數(shù) | 1次 | 2次 |
+----------+-------------------------+--------------------------------------------------+
|復(fù)雜度 |低 |高 |
+----------+-------------------------+--------------------------------------------------+
|性能 |高;無需解析內(nèi)容 |中;需要算法識別 URL,Cookie和 HTTP head等信息 |
+----------+-------------------------+--------------------------------------------------+
|安全性 |低,無法識別 DDoS等××× |高, 可以防御SYN cookie以SYN flood等 |
+----------+-------------------------+--------------------------------------------------+
|額外功能 |無 |會話保持,圖片壓縮,防盜鏈等 |
總結(jié):從上面的對比看來四層負(fù)載與七層負(fù)載最大的區(qū)別就是效率與功能的區(qū)別。四層負(fù)載架構(gòu)設(shè)計比較簡單,無需解析具體的消息內(nèi)容,在網(wǎng)絡(luò)吞吐量及處理能力上會相對比較高,而七層負(fù)載均衡的優(yōu)勢則體現(xiàn)在功能多,控制靈活強(qiáng)大。在具體業(yè)務(wù)架構(gòu)設(shè)計時,使用七層負(fù)載或者四層負(fù)載還得根據(jù)具體的情況綜合考慮。
然后是下面這篇,感覺這篇介紹相關(guān)負(fù)載均衡設(shè)備比較多一些 https://www.jianshu.com/p/fa937b8e6712
負(fù)載均衡 (Load Balancing) 建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力,同時能夠提高網(wǎng)絡(luò)的靈活性和可用性。
Nginx/LVS/HAProxy是目前使用最廣泛的三種負(fù)載均衡軟件。
一般對負(fù)載均衡的使用是隨著網(wǎng)站規(guī)模的提升根據(jù)不同的階段來使用不同的技術(shù)。具體的應(yīng)用需求還得具體分析,如果是中小型的Web應(yīng)用,比如日PV小于1000萬,用Nginx就完全可以了;如果機(jī)器不少,可以用DNS輪詢,LVS所耗費的機(jī)器還是比較多的;大型網(wǎng)站或重要的服務(wù),且服務(wù)器比較多時,可以考慮用LVS。
一種是通過硬件來進(jìn)行,常見的硬件有比較昂貴的F5和Array等商用的負(fù)載均衡器,它的優(yōu)點就是有專業(yè)的維護(hù)團(tuán)隊來對這些服務(wù)進(jìn)行維護(hù)、缺點就是花銷太大,所以對于規(guī)模較小的網(wǎng)絡(luò)服務(wù)來說暫時還沒有需要使用;另外一種就是類似于Nginx/LVS/HAProxy的基于 Linux的開源免費的負(fù)載均衡軟件,這些都是通過軟件級別來實現(xiàn),所以費用非常低廉。
目前關(guān)于網(wǎng)站架構(gòu)一般比較合理流行的架構(gòu)方案:Web前端采用Nginx/HAProxy+ Keepalived作負(fù)載均衡器;后端采用 MySQL數(shù)據(jù)庫一主多從和讀寫分離,采用LVS+Keepalived的架構(gòu)。當(dāng)然要根據(jù)項目具體需求制定方案。
下面說說各自的特點和適用場合。
Nginx的優(yōu)點是:
工作在網(wǎng)絡(luò)的7層之上,可以針對http應(yīng)用做一些分流的策略,比如針對域名、目錄結(jié)構(gòu),它的正則規(guī)則比HAProxy更為強(qiáng)大和靈活,這也是它目前廣泛流行的主要原因之一,Nginx單憑這點可利用的場合就遠(yuǎn)多于LVS了。
Nginx對網(wǎng)絡(luò)穩(wěn)定性的依賴非常小,理論上能ping通就就能進(jìn)行負(fù)載功能,這個也是它的優(yōu)勢之一;相反LVS對網(wǎng)絡(luò)穩(wěn)定性依賴比較大。
Nginx安裝和配置比較簡單,測試起來比較方便,它基本能把錯誤用日志打印出來。LVS的配置、測試就要花比較長的時間了,LVS對網(wǎng)絡(luò)依賴比較大。
可以承擔(dān)高負(fù)載壓力且穩(wěn)定,在硬件不差的情況下一般能支撐幾萬次的并發(fā)量,負(fù)載度比LVS相對小些。
Nginx可以通過端口檢測到服務(wù)器內(nèi)部的故障,比如根據(jù)服務(wù)器處理網(wǎng)頁返回的狀態(tài)碼、超時等等,并且會把返回錯誤的請求重新提交到另一個節(jié)點,不過其中缺點就是不支持url來檢測。比如用戶正在上傳一個文件,而處理該上傳的節(jié)點剛好在上傳過程中出現(xiàn)故障,Nginx會把上傳切到另一臺服務(wù)器重新處理,而LVS就直接斷掉了,如果是上傳一個很大的文件或者很重要的文件的話,用戶可能會因此而不滿。
Nginx不僅僅是一款優(yōu)秀的負(fù)載均衡器/反向代理軟件,它同時也是功能強(qiáng)大的Web應(yīng)用服務(wù)器。LNMP也是近幾年非常流行的web架構(gòu),在高流量的環(huán)境中穩(wěn)定性也很好。
Nginx現(xiàn)在作為Web反向加速緩存越來越成熟了,速度比傳統(tǒng)的Squid服務(wù)器更快,可以考慮用其作為反向代理加速器。
Nginx可作為中層反向代理使用,這一層面Nginx基本上無對手,唯一可以對比Nginx的就只有 lighttpd了,不過 lighttpd目前還沒有做到Nginx完全的功能,配置也不那么清晰易讀,社區(qū)資料也遠(yuǎn)遠(yuǎn)沒Nginx活躍。
Nginx也可作為靜態(tài)網(wǎng)頁和圖片服務(wù)器,這方面的性能也無對手。還有Nginx社區(qū)非?;钴S,第三方模塊也很多。
Nginx的缺點是:
Nginx僅能支持http、https和Email協(xié)議,這樣就在適用范圍上面小些,這個是它的缺點。
對后端服務(wù)器的健康檢查,只支持通過端口來檢測,不支持通過url來檢測。不支持Session的直接保持,但能通過ip_hash來解決。
LVS:使用Linux內(nèi)核集群實現(xiàn)一個高性能、高可用的負(fù)載均衡服務(wù)器,它具有很好的可伸縮性(Scalability)、可靠性(Reliability)和可管理性(Manageability)。
LVS的優(yōu)點是:
抗負(fù)載能力強(qiáng)、是工作在網(wǎng)絡(luò)4層之上僅作分發(fā)之用,沒有流量的產(chǎn)生,這個特點也決定了它在負(fù)載均衡軟件里的性能最強(qiáng)的,對內(nèi)存和cpu資源消耗比較低。
配置性比較低,這是一個缺點也是一個優(yōu)點,因為沒有可太多配置的東西,所以并不需要太多接觸,大大減少了人為出錯的幾率。
工作穩(wěn)定,因為其本身抗負(fù)載能力很強(qiáng),自身有完整的雙機(jī)熱備方案,如LVS+Keepalived。
無流量,LVS只分發(fā)請求,而流量并不從它本身出去,這點保證了均衡器IO的性能不會受到大流量的影響。
應(yīng)用范圍比較廣,因為LVS工作在4層,所以它幾乎可以對所有應(yīng)用做負(fù)載均衡,包括http、數(shù)據(jù)庫、在線聊天室等等。
LVS的缺點是:
軟件本身不支持正則表達(dá)式處理,不能做動靜分離;而現(xiàn)在許多網(wǎng)站在這方面都有較強(qiáng)的需求,這個是Nginx/HAProxy+Keepalived的優(yōu)勢所在。
如果是網(wǎng)站應(yīng)用比較龐大的話,LVS/DR+Keepalived實施起來就比較復(fù)雜了,特別后面有 Windows Server的機(jī)器的話,如果實施及配置還有維護(hù)過程就比較復(fù)雜了,相對而言,Nginx/HAProxy+Keepalived就簡單多了。
HAProxy的特點是:
HAProxy也是支持虛擬主機(jī)的。
HAProxy的優(yōu)點能夠補(bǔ)充Nginx的一些缺點,比如支持Session的保持,Cookie的引導(dǎo);同時支持通過獲取指定的url來檢測后端服務(wù)器的狀態(tài)。
HAProxy跟LVS類似,本身就只是一款負(fù)載均衡軟件;單純從效率上來講HAProxy會比Nginx有更出色的負(fù)載均衡速度,在并發(fā)處理上也是優(yōu)于Nginx的。
HAProxy支持TCP協(xié)議的負(fù)載均衡轉(zhuǎn)發(fā),可以對MySQL讀進(jìn)行負(fù)載均衡,對后端的MySQL節(jié)點進(jìn)行檢測和負(fù)載均衡,大家可以用LVS+Keepalived對MySQL主從做負(fù)載均衡。
HAProxy負(fù)載均衡策略非常多,HAProxy的負(fù)載均衡算法現(xiàn)在具體有如下8種:
① roundrobin,表示簡單的輪詢,這個不多說,這個是負(fù)載均衡基本都具備的;
② static-rr,表示根據(jù)權(quán)重,建議關(guān)注;
③ leastconn,表示最少連接者先處理,建議關(guān)注;
④ source,表示根據(jù)請求源IP,這個跟Nginx的IP_hash機(jī)制類似,我們用其作為解決session問題的一種方法,建議關(guān)注;
⑤ ri,表示根據(jù)請求的URI;
⑥ rl_param,表示根據(jù)請求的URl參數(shù)’balance url_param’ requires an URL parameter name;
⑦ hdr(name),表示根據(jù)HTTP請求頭來鎖定每一次HTTP請求;
⑧ rdp-cookie(name),表示根據(jù)據(jù)cookie(name)來鎖定并哈希每一次TCP請求。
Nginx和LVS對比的總結(jié):
Nginx工作在網(wǎng)絡(luò)的7層,所以它可以針對http應(yīng)用本身來做分流策略,比如針對域名、目錄結(jié)構(gòu)等,相比之下LVS并不具備這樣的功能,所以Nginx單憑這點可利用的場合就遠(yuǎn)多于LVS了;但Nginx有用的這些功能使其可調(diào)整度要高于LVS,所以經(jīng)常要去觸碰觸碰,觸碰多了,人為出問題的幾率也就會大。
Nginx對網(wǎng)絡(luò)穩(wěn)定性的依賴較小,理論上只要ping得通,網(wǎng)頁訪問正常,Nginx就能連得通,這是Nginx的一大優(yōu)勢!Nginx同時還能區(qū)分內(nèi)外網(wǎng),如果是同時擁有內(nèi)外網(wǎng)的節(jié)點,就相當(dāng)于單機(jī)擁有了備份線路;LVS就比較依賴于網(wǎng)絡(luò)環(huán)境,目前來看服務(wù)器在同一網(wǎng)段內(nèi)并且LVS使用direct方式分流,效果較能得到保證。另外注意,LVS需要向托管商至少申請多一個ip來做Visual IP,貌似是不能用本身的IP來做VIP的。要做好LVS管理員,確實得跟進(jìn)學(xué)習(xí)很多有關(guān)網(wǎng)絡(luò)通信方面的知識,就不再是一個HTTP那么簡單了。
Nginx安裝和配置比較簡單,測試起來也很方便,因為它基本能把錯誤用日志打印出來。LVS的安裝和配置、測試就要花比較長的時間了;LVS對網(wǎng)絡(luò)依賴比較大,很多時候不能配置成功都是因為網(wǎng)絡(luò)問題而不是配置問題,出了問題要解決也相應(yīng)的會麻煩得多。
Nginx也同樣能承受很高負(fù)載且穩(wěn)定,但負(fù)載度和穩(wěn)定度差LVS還有幾個等級:Nginx處理所有流量所以受限于機(jī)器IO和配置;本身的bug也還是難以避免的。
Nginx可以檢測到服務(wù)器內(nèi)部的故障,比如根據(jù)服務(wù)器處理網(wǎng)頁返回的狀態(tài)碼、超時等等,并且會把返回錯誤的請求重新提交到另一個節(jié)點。目前LVS中 ldirectd也能支持針對服務(wù)器內(nèi)部的情況來監(jiān)控,但LVS的原理使其不能重發(fā)請求。比如用戶正在上傳一個文件,而處理該上傳的節(jié)點剛好在上傳過程中出現(xiàn)故障,Nginx會把上傳切到另一臺服務(wù)器重新處理,而LVS就直接斷掉了,如果是上傳一個很大的文件或者很重要的文件的話,用戶可能會因此而惱火。
Nginx對請求的異步處理可以幫助節(jié)點服務(wù)器減輕負(fù)載,假如使用 apache直接對外服務(wù),那么出現(xiàn)很多的窄帶鏈接時apache服務(wù)器將會占用大 量內(nèi)存而不能釋放,使用多一個Nginx做apache代理的話,這些窄帶鏈接會被Nginx擋住,apache上就不會堆積過多的請求,這樣就減少了相當(dāng)多的資源占用。這點使用squid也有相同的作用,即使squid本身配置為不緩存,對apache還是有很大幫助的。
Nginx能支持http、https和email(email的功能比較少用),LVS所支持的應(yīng)用在這點上會比Nginx更多。在使用上,一般最前端所采取的策略應(yīng)是LVS,也就是DNS的指向應(yīng)為LVS均衡器,LVS的優(yōu)點令它非常適合做這個任務(wù)。重要的ip地址,最好交由LVS托管,比如數(shù)據(jù)庫的 ip、webservice服務(wù)器的ip等等,這些ip地址隨著時間推移,使用面會越來越大,如果更換ip則故障會接踵而至。所以將這些重要ip交給 LVS托管是最為穩(wěn)妥的,這樣做的唯一缺點是需要的VIP數(shù)量會比較多。Nginx可作為LVS節(jié)點機(jī)器使用,一是可以利用Nginx的功能,二是可以利用Nginx的性能。當(dāng)然這一層面也可以直接使用squid,squid的功能方面就比Nginx弱不少了,性能上也有所遜色于Nginx。Nginx也可作為中層代理使用,這一層面Nginx基本上無對手,唯一可以撼動Nginx的就只有l(wèi)ighttpd了,不過lighttpd目前還沒有能做到 Nginx完全的功能,配置也不那么清晰易讀。另外,中層代理的IP也是重要的,所以中層代理也擁有一個VIP和LVS是最完美的方案了。具體的應(yīng)用還得具體分析,如果是比較小的網(wǎng)站(日PV小于1000萬),用Nginx就完全可以了,如果機(jī)器也不少,可以用DNS輪詢,LVS所耗費的機(jī)器還是比較多的;大型網(wǎng)站或者重要的服務(wù),機(jī)器不發(fā)愁的時候,要多多考慮利用LVS。
現(xiàn)在對網(wǎng)絡(luò)負(fù)載均衡的使用是隨著網(wǎng)站規(guī)模的提升根據(jù)不同的階段來使用不同的技術(shù):
第一階段:利用Nginx或HAProxy進(jìn)行單點的負(fù)載均衡,這一階段服務(wù)器規(guī)模剛脫離開單服務(wù)器、單數(shù)據(jù)庫的模式,需要一定的負(fù)載均衡,但是仍然規(guī)模較小沒有專業(yè)的維護(hù)團(tuán)隊來進(jìn)行維護(hù),也沒有需要進(jìn)行大規(guī)模的網(wǎng)站部署。這樣利用Nginx或HAproxy就是第一選擇,此時這些東西上手快, 配置容易,在七層之上利用HTTP協(xié)議就可以。這時是第一選擇。
第二階段:隨著網(wǎng)絡(luò)服務(wù)進(jìn)一步擴(kuò)大,這時單點的Nginx已經(jīng)不能滿足,這時使用LVS或者商用Array就是首要選擇,Nginx此時就作為LVS或者Array的節(jié)點來使用,具體LVS或Array的是選擇是根據(jù)公司規(guī)模和預(yù)算來選擇,Array的應(yīng)用交付功能非常強(qiáng)大,本人在某項目中使用過,性價比也遠(yuǎn)高于F5,商用首選,但是一般來說這階段相關(guān)人才跟不上業(yè)務(wù)的提升,所以購買商業(yè)負(fù)載均衡已經(jīng)成為了必經(jīng)之路。
第三階段:這時網(wǎng)絡(luò)服務(wù)已經(jīng)成為主流產(chǎn)品,此時隨著公司知名度也進(jìn)一步擴(kuò)展,相關(guān)人才的能力以及數(shù)量也隨之提升,這時無論從開發(fā)適合自身產(chǎn)品的定制,以及降低成本來講開源的LVS,已經(jīng)成為首選,這時LVS會成為主流。
最終形成比較理想的基本架構(gòu)為:Array/LVS — Nginx/Haproxy — Squid/Varnish — AppServer。
看了以上關(guān)于什么是負(fù)載均衡?優(yōu)點有哪些?的解答,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗了。創(chuàng)新互聯(lián)官網(wǎng)鏈接www.cdcxhl.com