資源描述:
《nginx負(fù)載均衡安裝配置手冊》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、概述Nginx介紹Nginx("enginex")是一個高性能的HTTP和反向代理服務(wù)器,也是一個IMAP/POP3/SMTP代理服務(wù)器。Nginx是由IgorSysoev為俄羅斯訪問量第二的Rambler.ru站點(diǎn)開發(fā)的,它已經(jīng)在該站點(diǎn)運(yùn)行超過三年了。Igor將源代碼以類BSD許可證的形式發(fā)布。Nginx超越Apache的高性能和穩(wěn)定性,使得國內(nèi)使用Nginx作為Web服務(wù)器的網(wǎng)站也越來越多,其中包括新浪博客、新浪播客、網(wǎng)易新聞、騰訊網(wǎng)、搜狐博客等門戶網(wǎng)站頻道,六間房、56.com等視頻分享網(wǎng)站,Discuz!官方論壇、水木社區(qū)等知
2、名論壇,盛大在線、金山逍遙網(wǎng)等網(wǎng)絡(luò)游戲網(wǎng)站,豆瓣、人人網(wǎng)、YUPOO相冊、金山愛詞霸、迅雷在線等新興Web2.0網(wǎng)站。四層和七層負(fù)載均衡負(fù)載均衡設(shè)備也常被稱為"四到七層交換機(jī)",那補(bǔ)充:所謂四層就是基于IP+端口的負(fù)載均衡;七層就是基于URL等應(yīng)用層信息的負(fù)載均衡;同理,還有基于MAC地址的二層負(fù)載均衡和基于IP地址的三層負(fù)載均衡。換句換說,二層負(fù)載均衡會通過一個虛擬MAC地址接收請求,然后再分配到真實(shí)的MAC地址;三層負(fù)載均衡會通過一個虛擬IP地址接收請求,然后再分配到真實(shí)的IP地址;四層通過虛擬IP+端口接收請求,然后再分配到真實(shí)
3、的服務(wù)器;七層通過虛擬的URL或主機(jī)名接收請求,然后再分配到真實(shí)的服務(wù)器。所謂的四到七層負(fù)載均衡,就是在對后臺的服務(wù)器進(jìn)行負(fù)載均衡時,依據(jù)四層的信息或七層的信息來決定怎么樣轉(zhuǎn)發(fā)流量。比如四層的負(fù)載均衡,就是通過發(fā)布三層的IP地址(VIP),然后加四層的端口號,來決定哪些流量需要做負(fù)載均衡,對需要處理的流量進(jìn)行NAT處理,轉(zhuǎn)發(fā)至后臺服務(wù)器,并記錄下這個TCP或者UDP的流量是由哪臺服務(wù)器處理的,后續(xù)這個連接的所有流量都同樣轉(zhuǎn)發(fā)到同一臺服務(wù)器處理。七層的負(fù)載均衡,就是在四層的基礎(chǔ)上(不能空中樓閣,沒有四層是絕對不可能有七層的),再考慮應(yīng)用
4、層的特征,比如同一個WEB服務(wù)器的負(fù)載均衡,除了根據(jù)VIP加80端口辨別是否需要處理的流量,還可根據(jù)七層的URL、瀏覽器類別、語言來決定是否要進(jìn)行負(fù)載均衡。舉個例子,如果你的web服務(wù)器分成兩組,一組是中文語言的,一組是英文語言的,那么七層負(fù)載均衡就可以當(dāng)用戶來訪問你的域名時,自動辨別用戶語言,然后選擇對應(yīng)的語言服務(wù)器組進(jìn)行負(fù)載均衡處理。四層和七層兩者到底區(qū)別在哪里?負(fù)載均衡器通常稱為四層交換機(jī)或七層交換機(jī)。四層交換機(jī)主要分析IP層及TCP/UDP層,實(shí)現(xiàn)四層流量負(fù)載均衡。七層交換機(jī)除了支持四層負(fù)載均衡以外,還有分析應(yīng)用層的信息,如H
5、TTP協(xié)議URI或Cookie信息。1、負(fù)載均衡分為L4switch(四層交換),即在OSI第4層工作,就是TCP層啦。此種LoadBalance不理解應(yīng)用協(xié)議(如HTTP/FTP/MySQL等等)。例子:LVS,F(xiàn)52、另一種叫做L7switch(七層交換),OSI的最高層,應(yīng)用層。此時,該LoadBalancer能理解應(yīng)用協(xié)議。例子:haproxy,MySQLProxy注意:上面的很多LoadBalancer既可以做四層交換,也可以做七層交換。如果單純要做HTTP的負(fù)載均衡,用haproxy好了。性能很強(qiáng)。另外,F(xiàn)5和Alteon
6、這樣的硬件LB是LVS等軟件趕不上。?技術(shù)原理上的區(qū)別。所謂四層負(fù)載均衡,也就是主要通過報(bào)文中的目標(biāo)地址和端口,再加上負(fù)載均衡設(shè)備設(shè)置的服務(wù)器選擇方式,決定最終選擇的內(nèi)部服務(wù)器。以常見的TCP為例,負(fù)載均衡設(shè)備在接收到第一個來自客戶端的SYN請求時,即通過上述方式選擇一個最佳的服務(wù)器,并對報(bào)文中目標(biāo)IP地址進(jìn)行修改(改為后端服務(wù)器IP),直接轉(zhuǎn)發(fā)給該服務(wù)器。TCP的連接建立,即三次握手是客戶端和服務(wù)器直接建立的,負(fù)載均衡設(shè)備只是起到一個類似路由器的轉(zhuǎn)發(fā)動作。在某些部署情況下,為保證服務(wù)器回包可以正確返回給負(fù)載均衡設(shè)備,在轉(zhuǎn)發(fā)報(bào)文的同時
7、可能還會對報(bào)文原來的源地址進(jìn)行修改。所謂七層負(fù)載均衡,也稱為“內(nèi)容交換”,也就是主要通過報(bào)文中的真正有意義的應(yīng)用層內(nèi)容,再加上負(fù)載均衡設(shè)備設(shè)置的服務(wù)器選擇方式,決定最終選擇的內(nèi)部服務(wù)器。以常見的TCP為例,負(fù)載均衡設(shè)備如果要根據(jù)真正的應(yīng)用層內(nèi)容再選擇服務(wù)器,只能先代理最終的服務(wù)器和客戶端建立連接(三次握手)后,才可能接受到客戶端發(fā)送的真正應(yīng)用層內(nèi)容的報(bào)文,然后再根據(jù)該報(bào)文中的特定字段,再加上負(fù)載均衡設(shè)備設(shè)置的服務(wù)器選擇方式,決定最終選擇的內(nèi)部服務(wù)器。負(fù)載均衡設(shè)備在這種情況下,更類似于一個代理服務(wù)器。負(fù)載均衡和前端的客戶端以及后端的服務(wù)
8、器會分別建立TCP連接。所以從這個技術(shù)原理上來看,七層負(fù)載均衡明顯的對負(fù)載均衡設(shè)備的要求更高,處理七層的能力也必然會低于四層模式的部署方式。?七層負(fù)載均衡應(yīng)用場景七層應(yīng)用負(fù)載的好處,是使得整個網(wǎng)絡(luò)更"智能化",參考我們之