Nginx、HAProxy、LVS三者的優(yōu)缺點(diǎn)

一、Nginx優(yōu)點(diǎn): 1、工作在網(wǎng)絡(luò)7層之上,可針對http應(yīng)用做一些分流的策略,如針對域名、目錄結(jié)構(gòu),它的正規(guī)規(guī)則比HAProxy更為強(qiáng)大和靈活,所以,目前為止廣泛流行。 2、Nginx對網(wǎng)絡(luò)穩(wěn)定性的依賴非常小,理論上能ping通就能進(jìn)行負(fù)載功能。 3、Nginx安裝與配置比較簡單,測試也比較方便,基本能把錯(cuò)誤日志打印出來。 4、可以承擔(dān)高負(fù)載壓力且穩(wěn)定,硬件不差的情況下一般能支撐幾萬次的并發(fā)量,負(fù)載度比LVS小。 5、Nginx可以通過端口檢測到服務(wù)器內(nèi)部的故障,如根據(jù)服務(wù)器處理網(wǎng)頁返回的狀態(tài)碼、超時(shí)等,并會(huì)把返回錯(cuò)誤的請求重新提交到另一個(gè)節(jié)點(diǎn)。 6、不僅僅是優(yōu)秀的負(fù)載均衡器/反向代理軟件,同時(shí)也是強(qiáng)大的Web應(yīng)用服務(wù)器。LNMP也是近些年非常流行的Web架構(gòu),在高流量環(huán)境中穩(wěn)定性也很好。 7、可作為中層反向代理使用。 8、可作為靜態(tài)網(wǎng)頁和圖片服務(wù)器。 9、Nginx社區(qū)活躍,第三方模塊非常多,相關(guān)的資料在網(wǎng)上比比皆是。 Nginx常規(guī)的和HTTP請求和相應(yīng)流程圖:
Nginx缺點(diǎn): 1、適應(yīng)范圍較小,僅能支持http、https、Email協(xié)議。 2、對后端服務(wù)器的健康檢查,只支持通過端口檢測,不支持url來檢測。比如用戶正在上傳一個(gè)文件,而處理該上傳的節(jié)點(diǎn)剛好在上傳過程中出現(xiàn)故障,Nginx會(huì)把上傳切到另一臺(tái)服務(wù)器重新處理,而LVS就直接斷掉了,如果是上傳一個(gè)很大的文件或者很重要的文件的話,用戶可能會(huì)因此而不滿。   二、LVS優(yōu)點(diǎn): 1、抗負(fù)載能力強(qiáng)、是工作在網(wǎng)絡(luò)4層之上僅作分發(fā)之用,沒有流量的產(chǎn)生,這個(gè)特點(diǎn)也決定了它在負(fù)載均衡軟件里的性能最強(qiáng)的,對內(nèi)存和cpu資源消耗比較低。 2、配置性比較低,這是一個(gè)缺點(diǎn)也是一個(gè)優(yōu)點(diǎn),因?yàn)闆]有可太多配置的東西,所以并不需要太多接觸,大大減少了人為出錯(cuò)的幾率。 3、工作穩(wěn)定,因?yàn)槠浔旧砜关?fù)載能力很強(qiáng),自身有完整的雙機(jī)熱備方案,如LVS+Keepalived,不過我們在項(xiàng)目實(shí)施中用得最多的還是LVS/DR+Keepalived。 4、無流量,LVS只分發(fā)請求,而流量并不從它本身出去,這點(diǎn)保證了均衡器IO的性能不會(huì)收到大流量的影響。 5、應(yīng)用范圍比較廣,因?yàn)長VS工作在4層,所以它幾乎可以對所有應(yīng)用做負(fù)載均衡,包括http、數(shù)據(jù)庫、在線聊天室等等。 LVS DR(Direct Routing)模式的網(wǎng)絡(luò)流程圖:
LVS的缺點(diǎn): 1、軟件本身不支持正則表達(dá)式處理,不能做動(dòng)靜分離;而現(xiàn)在許多網(wǎng)站在這方面都有較強(qiáng)的需求,這個(gè)是Nginx/HAProxy+Keepalived的優(yōu)勢所在。 2、如果是網(wǎng)站應(yīng)用比較龐大的話,LVS/DR+Keepalived實(shí)施起來就比較復(fù)雜了,特別后面有Windows Server的機(jī)器的話,如果實(shí)施及配置還有維護(hù)過程就比較復(fù)雜了,相對而言,Nginx/HAProxy+Keepalived就簡單多了。   三、HAProxy優(yōu)點(diǎn): 1、HAProxy是支持虛擬主機(jī)的,可以工作在4、7層(支持多網(wǎng)段) 2、HAProxy的優(yōu)點(diǎn)能夠補(bǔ)充Nginx的一些缺點(diǎn),比如支持Session的保持,Cookie的引導(dǎo);同時(shí)支持通過獲取指定的url來檢測后端服務(wù)器的狀態(tài)。 3、HAProxy跟LVS類似,本身就只是一款負(fù)載均衡軟件;單純從效率上來講HAProxy會(huì)比Nginx有更出色的負(fù)載均衡速度,在并發(fā)處理上也是優(yōu)于Nginx的。 4、HAProxy支持TCP協(xié)議的負(fù)載均衡轉(zhuǎn)發(fā),可以對MySQL讀進(jìn)行負(fù)載均衡,對后端的MySQL節(jié)點(diǎn)進(jìn)行檢測和負(fù)載均衡,大家可以用LVS+Keepalived對MySQL主從做負(fù)載均衡。 5、HAProxy負(fù)載均衡策略非常多,HAProxy的負(fù)載均衡算法現(xiàn)在具體有如下8種 ① roundrobin 表示簡單的輪詢,外匯分析師http://www.gendan5.com/experts.html 在服務(wù)器的處理時(shí)間平均分配的情況下這是最流暢和公平的算法。該算法是動(dòng)態(tài)的,對于實(shí)例啟動(dòng)慢的服務(wù)器權(quán)重會(huì)在運(yùn)行中調(diào)整。最大支持4095個(gè)后端主機(jī);

成都創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)武隆,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220



② leastconn 連接數(shù)最少的服務(wù)器優(yōu)先接收連接。leastconn建議用于長會(huì)話服務(wù),例如LDAP、SQL、TSE等,而不適合短會(huì)話協(xié)議。如HTTP.該算法是動(dòng)態(tài)的,對于實(shí)例啟動(dòng)慢的服務(wù)器權(quán)重會(huì)在運(yùn)行中調(diào)整。 ③ static-rr 每個(gè)服務(wù)器根據(jù)權(quán)重輪流使用,類似roundrobin,但它是靜態(tài)的,意味著運(yùn)行時(shí)修改權(quán)限是無效的。另外,它對服務(wù)器的數(shù)量沒有限制。該算法一般不用; ④ source 對請求源IP地址進(jìn)行哈希,用可用服務(wù)器的權(quán)重總數(shù)除以哈希值,根據(jù)結(jié)果進(jìn)行分配。只要服務(wù)器正常,同一個(gè)客戶端IP地址總是訪問同一個(gè)服務(wù)器。如果哈希的結(jié)果隨可用服務(wù)器數(shù)量而變化,那么客戶端會(huì)定向到不同的服務(wù)器;該算法一般用于不能插入cookie的Tcp模式。它還可以用于廣域網(wǎng)上為拒絕使用會(huì)話cookie的客戶端提供最有效的粘連;該算法默認(rèn)是靜態(tài)的,所以運(yùn)行時(shí)修改服務(wù)器的權(quán)重是無效的,但是算法會(huì)根據(jù)“hash-type”的變化做調(diào)整。 ⑤ uri 表示根據(jù)請求的URI左端(問號之前)進(jìn)行哈希,用可用服務(wù)器的權(quán)重總數(shù)除以哈希值,根據(jù)結(jié)果進(jìn)行分配。只要服務(wù)器正常,同一個(gè)URI地址總是訪問同一個(gè)服務(wù)器。一般用于代理緩存和反病毒代理,以最大限度的提高緩存的命中率。該算法只能用于HTTP后端;該算法一般用于后端是緩存服務(wù)器;該算法默認(rèn)是靜態(tài)的,所以運(yùn)行時(shí)修改服務(wù)器的權(quán)重是無效的,但是算法會(huì)根據(jù)“hash-type”的變化做調(diào)整。 ⑥ url_param 在HTTP GET請求的查詢串中查找中指定的URL參數(shù),基本上可以鎖定使用特制的URL到特定的負(fù)載均衡器節(jié)點(diǎn)的要求;該算法一般用于將同一個(gè)用戶的信息發(fā)送到同一個(gè)后端服務(wù)器;該算法默認(rèn)是靜態(tài)的,所以運(yùn)行時(shí)修改服務(wù)器的權(quán)重是無效的,但是算法會(huì)根據(jù)“hash-type”的變化做調(diào)整。 ⑦ hdr(name) 在每個(gè)HTTP請求中查找HTTP頭,HTTP頭將被看作在每個(gè)HTTP請求,并針對特定的節(jié)點(diǎn);如果缺少頭或者頭沒有任何值,則用roundrobin代替;該算法默認(rèn)是靜態(tài)的,所以運(yùn)行時(shí)修改服務(wù)器的權(quán)重是無效的,但是算法會(huì)根據(jù)“hash-type”的變化做調(diào)整。 ⑧ rdp-cookie(name) 為每個(gè)進(jìn)來的TCP請求查詢并哈希RDP cookie;該機(jī)制用于退化的持久模式,可以使同一個(gè)用戶或者同一個(gè)會(huì)話ID總是發(fā)送給同一臺(tái)服務(wù)器。如果沒有cookie,則使用roundrobin算法代替;該算法默認(rèn)是靜態(tài)的,所以運(yùn)行時(shí)修改服務(wù)器的權(quán)重是無效的,但是算法會(huì)根據(jù)“hash-type”的變化做調(diào)整。 haproxy的工作模型圖:
HAPorxy缺點(diǎn): 1. 不支持POP/SMTP協(xié)議 2. 不支持SPDY協(xié)議 3. 不支持HTTP cache功能?,F(xiàn)在不少開源的lb項(xiàng)目,都或多或少具備HTTP cache功能。 4. 重載配置的功能需要重啟進(jìn)程,雖然也是soft restart,但沒有Nginx的reaload更為平滑和友好。 5. 多進(jìn)程模式支持不夠好

分享名稱:Nginx、HAProxy、LVS三者的優(yōu)缺點(diǎn)
文章起源:http://muchs.cn/article10/gheigo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、做網(wǎng)站標(biāo)簽優(yōu)化、搜索引擎優(yōu)化、自適應(yīng)網(wǎng)站建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站