自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

19個心得 明明白白說Linux下的負(fù)載均衡

原創(chuàng)
網(wǎng)絡(luò) 網(wǎng)絡(luò)優(yōu)化 網(wǎng)絡(luò)運(yùn)維
作為一名Linux/unix系統(tǒng)工程師,這幾年一直在涉及到對外項目,經(jīng)手過許多小中型網(wǎng)站的架構(gòu),F(xiàn)5、LVS及Nginx接觸的都比較多,我想一種比較通俗易懂的語氣跟大家說明下何謂負(fù)載均衡,何謂Linux集群,幫助大家走出這個誤區(qū),真正意義上來理解它們,項目施工案例請參考我在51cto.com上的同類文章。

【51CTO.com獨(dú)家特稿】前言:作為一名Linux/unix系統(tǒng)工程師,這幾年一直在涉及到對外項目,經(jīng)手過許多小中型網(wǎng)站的架構(gòu),F(xiàn)5、LVS及Nginx接觸的都比較多,我想一種比較通俗易懂的語氣跟大家說明下何謂負(fù)載均衡,何謂Linux集群,幫助大家走出這個誤區(qū),真正意義上來理解它們,項目施工案例請參考我在network.51cto.com上的同類文章。

一、目前網(wǎng)站架構(gòu)一般分成負(fù)載均衡層、web層和數(shù)據(jù)庫層,我其實(shí)一般還會多加一層,即文件服務(wù)器層,因?yàn)楝F(xiàn)在隨著網(wǎng)站的PV越來越多,文件服務(wù)器的壓力也越來越大;不過隨著moosefs、DRDB+Heartbeat+NFS的日趨成熟,這問題也不大了.網(wǎng)站最前端的負(fù)載均衡層稱之為Director,它起的是分?jǐn)傉埱蟮淖饔?,最常見的就是輪詢?/p>

二、F5是通過硬件的方式來實(shí)現(xiàn)負(fù)載均衡,它較多應(yīng)用于CDN系統(tǒng),用于squid反向加速集群的負(fù)載均衡,是專業(yè)的硬件負(fù)載均衡設(shè)備,尤其適用于每秒新建連接數(shù)和并發(fā)連接數(shù)要求高的場景;LVS和Nginx是通過軟件的方式來實(shí)現(xiàn)的,但穩(wěn)定性也相當(dāng)強(qiáng)悍,在處理高并發(fā)的情況也有相當(dāng)不俗的表現(xiàn)。

三、Nginx對網(wǎng)絡(luò)的依賴較小,理論上只要ping得通,網(wǎng)頁訪問正常,nginx就能連得通,nginx同時還能區(qū)分內(nèi)外網(wǎng),如果是同時擁有內(nèi)外網(wǎng)的節(jié)點(diǎn),就相當(dāng)于單機(jī)擁有了備份線路;lvs就比較依賴于網(wǎng)絡(luò)環(huán)境,目前來看服務(wù)器在同一網(wǎng)段內(nèi)并且lvs使用direct方式分流,效果較能得到保證。

四、目前較成熟的負(fù)載均衡高可用技術(shù)有LVS+Keepalived、Nginx+Keepalived,以前Nginx沒有成熟的雙機(jī)備份方案,但通過shell腳本監(jiān)控是可以實(shí)現(xiàn)的,有興趣的可具體參考我在51cto上的項目實(shí)施方案;另外,如果考慮Nginx的負(fù)載均衡高可用,也可以通過DNS輪詢的方式來實(shí)現(xiàn),有興趣的可以參考張宴的相關(guān)文章。

五、集群是指負(fù)載均衡后面的web集群或tomcat集群等,但現(xiàn)在的集群意義泛指了整個系統(tǒng)架構(gòu),它包括了負(fù)載均衡器以及后端的應(yīng)用服務(wù)器集群等,現(xiàn)在許多人都喜歡把Linux集群指為LVS,但我覺得嚴(yán)格意義上應(yīng)該區(qū)分開。

六、負(fù)載均衡高可用中的高可用指的是實(shí)現(xiàn)負(fù)載均衡器的HA,即一臺負(fù)載均衡器壞掉后另一臺可以在<1s秒內(nèi)切換,最常用的軟件就是Keepalived和Heatbeat,成熟的生產(chǎn)環(huán)境下的負(fù)載均衡器方案有Lvs+Keepalived、Nginx+Keepalived。

七、LVS的優(yōu)勢非常多:①抗負(fù)載能力強(qiáng);②工作穩(wěn)定(因?yàn)橛谐墒斓腍A方案);③無流量;④基本上能支持所有的應(yīng)用,基于以上的優(yōu)點(diǎn),LVS擁有不少的粉絲;但世事無絕對,LVS對網(wǎng)絡(luò)的依賴性太大了,在網(wǎng)絡(luò)環(huán)境相對復(fù)雜的應(yīng)用場景中,我不得不放棄它而選用Nginx。

八、Nginx對網(wǎng)絡(luò)的依賴性小,而且它的正則強(qiáng)大而靈活,強(qiáng)悍的特點(diǎn)吸引了不少人,而且配置也是相當(dāng)?shù)姆奖愫秃喖s,小中型項目實(shí)施中我基本是考慮它的;當(dāng)然,如果資金充足,F(xiàn)5是不二的選擇。

九、大型網(wǎng)站架構(gòu)中其實(shí)可以結(jié)合使用F5、LVS或Nginx,選擇它們中的二種或三種全部選擇;如果因?yàn)轭A(yù)算的原因不選擇F5,那么網(wǎng)站最前端的指向應(yīng)該是LVS,也就是DNS的指向應(yīng)為lvs均衡器,lvs的優(yōu)點(diǎn)令它非常適合做這個任務(wù)。重要的ip地址,最好交由lvs托管,比如數(shù)據(jù)庫的ip、webservice服務(wù)器的ip等等,這些ip地址隨著時間推移,使用面會越來越大,如果更換ip則故障會接踵而至。所以將這些重要ip交給lvs托管是最為穩(wěn)妥的。

十、VIP地址是Keepalived虛擬的一個IP,它是一個對外的公開IP,也是DNS指向的IP;所以在設(shè)計網(wǎng)站架構(gòu)時,你必須向你的IDC多申請一個對外IP

十一、在實(shí)際項目實(shí)施過程中發(fā)現(xiàn),Lvs和Nginx對https的支持都非常好,尤其是LVS,相對而言處理起來更為簡便。

十二、在LVS+Keepalived及Nginx+Keepalived的故障處理中,這二者都是很方便的;如果發(fā)生了系統(tǒng)故障或服務(wù)器相關(guān)故障,即可將DNS指向由它們后端的某臺真實(shí)web,達(dá)到短期處理故障的效果,畢竟廣告網(wǎng)站和電子商務(wù)網(wǎng)站的PV就是金錢,這也是為什么要將負(fù)載均衡高可用設(shè)計于此的原因;大型的廣告網(wǎng)站我就建議直接上CDN系統(tǒng)了。

十三、現(xiàn)在Linux集群都被大家神話了,其實(shí)這個也沒多少復(fù)雜;關(guān)鍵看你的應(yīng)用場景,哪種適用就選用哪種,Nginx和LVS、F5都不是神話,哪種方便哪種適用就選用哪種。

十四、另外關(guān)于session共享的問題,這也是一個老生長談的問題了;Nginx可以用ip_hash機(jī)制來解決session的問題,而F5和LVS都有會話保持機(jī)制來解決這個問題,此外,還可以將session寫進(jìn)數(shù)據(jù)庫,這也是一個解決session共享的好辦法,當(dāng)然這個也會加重數(shù)據(jù)庫的負(fù)擔(dān),這個看系統(tǒng)架構(gòu)師的取舍了。

十五、我現(xiàn)在目前維護(hù)的電子商務(wù)網(wǎng)站并發(fā)大約是1000左右,以前的證券資訊類網(wǎng)站是100左右,大型網(wǎng)上廣告大約是3000,我感覺web層的并發(fā)越來越不是一個問題;現(xiàn)在由于服務(wù)器的強(qiáng)悍,再加上Nginx作web的高抗并發(fā)性,web層的并發(fā)并不是什么大問題;相反而言,文件服務(wù)器層和數(shù)據(jù)庫層的壓力是越來越大了,單NFS不可能勝任目前的工作,現(xiàn)在好的方案是moosefs和DRDB+Heartbeat+NFS;而我喜歡的Mysql服務(wù)器,成熟的應(yīng)用方案還是主從,如果壓力過大,我不得不選擇oracle的RAC雙機(jī)方案。

十六、現(xiàn)在受張宴的影響,大家都去玩Nginx了(尤其是作web),其實(shí)在服務(wù)器性能優(yōu)異,內(nèi)存足夠的情況下,Apache的抗并發(fā)能力并不弱,整個網(wǎng)站的瓶頸應(yīng)該還是在數(shù)據(jù)庫方面;我建議可以雙方面了解Apache和Nginx,前端用Nginx作負(fù)載均衡,后端用Apache作web,效果也是相當(dāng)?shù)暮谩?/p>

十七、Heartbeat的腦裂問題沒有想象中那么嚴(yán)重,在線上環(huán)境可以考慮使用;DRDB+Heartbeat算是成熟的應(yīng)用了,建議掌握。我在相當(dāng)多的場合用此組合來替代EMC共享存儲,畢竟30萬的價格并不是每個客戶都愿意接受的。

十八、無論設(shè)計的方案是多么的成熟,還是建議要配置Nagios監(jiān)控機(jī)來實(shí)時監(jiān)控我們的服務(wù)器情況;郵件和短信報警都可以開啟,畢竟手機(jī)可以隨身攜帶嘛;有條件的還可以購買專門的商業(yè)掃描網(wǎng)站服務(wù),它會每隔一分鐘掃描你的網(wǎng)站,如果發(fā)現(xiàn)沒有alive會向你的郵件發(fā)警告信息或直接電話聯(lián)系。

十九、至少網(wǎng)站的安全性問題,我建議用硬件防火墻,比較推薦的是華賽三層防火墻+天泰web防火墻,DDOS的安全防護(hù)一定要到位;Linux服務(wù)器本身的iptables和SElinux均可關(guān)閉,當(dāng)然,端口開放越少越好。

補(bǔ)充說明:測試網(wǎng)站的響應(yīng)時間是用http://tools.pingdom.com,發(fā)現(xiàn)上了LVS+Keepalived、Nginx+Keepalived后并不影響速度,這一點(diǎn)大家就不要多慮了,Nginx現(xiàn)在作反向加速也日趨成熟了。

【51CTO.com獨(dú)家特稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載!合作媒體轉(zhuǎn)載請注明原文出處及作者!】

 

責(zé)任編輯:林琳 來源: 51CTO.com
相關(guān)推薦

2010-09-06 17:35:03

PPPOE配置

2020-02-10 19:42:01

CPIP 協(xié)議,

2011-11-04 16:49:26

Action BarAndroid

2010-06-29 14:38:14

Linux服務(wù)器

2010-08-03 09:17:00

2010-07-05 15:33:49

2011-04-27 17:05:39

2010-09-09 09:52:03

Linux服務(wù)器

2010-07-14 09:55:12

2010-08-25 09:09:58

2010-10-08 15:05:00

無線路由設(shè)置

2012-02-20 21:59:08

無線路由設(shè)置

2020-11-18 09:25:39

Docker

2020-12-22 10:57:36

DockerLinux程序員

2021-09-30 09:59:23

OSPF網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)技術(shù)

2021-02-23 08:10:18

Nginx反向代理負(fù)載均衡器

2021-09-26 07:38:39

組合問題數(shù)據(jù)結(jié)構(gòu)算法

2010-10-15 10:01:19

無線網(wǎng)絡(luò)構(gòu)建

2010-01-13 17:07:21

防輻射機(jī)箱選購

2013-05-23 11:16:28

大數(shù)據(jù)技術(shù)大數(shù)據(jù)AdTime
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號