LVS、Nginx、HAProxy工作环境中选择
文章目錄
- LVS的優(yōu)點(diǎn):
- Nginx的優(yōu)點(diǎn):
- HAProxy的優(yōu)點(diǎn):
- 工作選擇:
LVS的優(yōu)點(diǎn):
1、抗負(fù)載能力強(qiáng)、工作在第4層僅作分發(fā)之用,沒有流量的產(chǎn)生,這個(gè)特點(diǎn)也決定了它在負(fù)載均衡軟件里的性能最強(qiáng)的;無流量,同時(shí)保證了均衡器IO的性能不會(huì)受到大流量的影響;
2、工作穩(wěn)定,自身有完整的雙機(jī)熱備方案,如LVS+Keepalived和LVS+Heartbeat;
3、應(yīng)用范圍比較廣,可以對所有應(yīng)用做負(fù)載均衡;
4、配置性比較低,這是一個(gè)缺點(diǎn)也是一個(gè)優(yōu)點(diǎn),因?yàn)闆]有可太多配置的東西,所以并不需要太多接觸,大大減少了人為出錯(cuò)的幾率;
LVS的缺點(diǎn):
1、軟件本身不支持正則處理,不能做動(dòng)靜分離,這就凸顯了Nginx/HAProxy+Keepalived的優(yōu)勢。
2、如果網(wǎng)站應(yīng)用比較龐大,LVS/DR+Keepalived就比較復(fù)雜了,特別是后面有Windows Server應(yīng)用的機(jī)器,實(shí)施及配置還有維護(hù)過程就比較麻煩,相對而言,Nginx/HAProxy+Keepalived就簡單多了。
Nginx的優(yōu)點(diǎn):
1、工作在OSI第7層,可以針對http應(yīng)用做一些分流的策略。比如針對域名、目錄結(jié)構(gòu)。它的正則比HAProxy更為強(qiáng)大和靈活;
2、Nginx對網(wǎng)絡(luò)的依賴非常小,理論上能ping通就就能進(jìn)行負(fù)載功能,這個(gè)也是它的優(yōu)勢所在;
3、Nginx安裝和配置比較簡單,測試起來比較方便;
4、可以承擔(dān)高的負(fù)載壓力且穩(wěn)定,一般能支撐超過幾萬次的并發(fā)量;
5、Nginx可以通過端口檢測到服務(wù)器內(nèi)部的故障,比如根據(jù)服務(wù)器處理網(wǎng)頁返回的狀態(tài)碼、超時(shí)等等,并且會(huì)把返回錯(cuò)誤的請求重新提交到另一個(gè)節(jié)點(diǎn);
6、Nginx不僅僅是一款優(yōu)秀的負(fù)載均衡器/反向代理軟件,它同時(shí)也是功能強(qiáng)大的Web應(yīng)用服務(wù)器。LNMP現(xiàn)在也是非常流行的web環(huán)境,大有和LAMP環(huán)境分庭抗禮之勢,Nginx在處理靜態(tài)頁面、特別是抗高并發(fā)方面相對apache有優(yōu)勢;
7、Nginx現(xiàn)在作為Web反向加速緩存越來越成熟了,速度比傳統(tǒng)的Squid服務(wù)器更快,有需求的朋友可以考慮用其作為反向代理加速器;
Nginx的缺點(diǎn):
1、Nginx不支持url來檢測。
2、Nginx僅能支持http和Email,這個(gè)它的弱勢。
3、Nginx的Session的保持,Cookie的引導(dǎo)能力相對欠缺。
HAProxy的優(yōu)點(diǎn):
1、HAProxy是支持虛擬主機(jī)的,可以工作在4、7層(支持多網(wǎng)段);
2、能夠補(bǔ)充Nginx的一些缺點(diǎn)比如Session的保持,Cookie的引導(dǎo)等工作;
3、支持url檢測后端的服務(wù)器;
4、它跟LVS一樣,本身僅僅就只是一款負(fù)載均衡軟件;單純從效率上來講HAProxy更會(huì)比Nginx有更出色的負(fù)載均衡速度,在并發(fā)處理上也是優(yōu)于Nginx的;
5、HAProxy可以對Mysql讀進(jìn)行負(fù)載均衡,對后端的MySQL節(jié)點(diǎn)進(jìn)行檢測和負(fù)載均衡,不過在后端的MySQL slaves數(shù)量超過10臺(tái)時(shí)性能不如LVS;
6、HAProxy的算法較多,達(dá)到8種;
工作選擇:
HAproxy和Nginx由于可以做七層的轉(zhuǎn)發(fā),所以URL和目錄的轉(zhuǎn)發(fā)都可以做
在很大并發(fā)量的時(shí)候我們就要選擇LVS,像中小型公司的話并發(fā)量沒那么大
選擇HAproxy或者Nginx足已,由于HAproxy由是專業(yè)的代理服務(wù)器
配置簡單,所以中小型企業(yè)推薦使用HAproxy
LVS: 是基于四層的轉(zhuǎn)發(fā)
HAproxy: 是基于四層和七層的轉(zhuǎn)發(fā),是專業(yè)的代理服務(wù)器
Nginx: 是WEB服務(wù)器,緩存服務(wù)器,又是反向代理服務(wù)器,可以做七層的轉(zhuǎn)發(fā)
區(qū)別: LVS由于是基于四層的轉(zhuǎn)發(fā)所以只能做端口的轉(zhuǎn)發(fā)
而基于URL的、基于目錄的這種轉(zhuǎn)發(fā)LVS就做不了
總結(jié)
以上是生活随笔為你收集整理的LVS、Nginx、HAProxy工作环境中选择的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: k8s 里的kv和kvs
- 下一篇: 一、Nginx常见问题