丨負(fù)載均衡架構(gòu)如何用10行代碼實(shí)現(xiàn)一個(gè)服務(wù)_第1頁(yè)
丨負(fù)載均衡架構(gòu)如何用10行代碼實(shí)現(xiàn)一個(gè)服務(wù)_第2頁(yè)
丨負(fù)載均衡架構(gòu)如何用10行代碼實(shí)現(xiàn)一個(gè)服務(wù)_第3頁(yè)
丨負(fù)載均衡架構(gòu)如何用10行代碼實(shí)現(xiàn)一個(gè)服務(wù)_第4頁(yè)
丨負(fù)載均衡架構(gòu)如何用10行代碼實(shí)現(xiàn)一個(gè)服務(wù)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

HTTPHTTPHTTP302IP這種負(fù)載均衡實(shí)現(xiàn)方法比較簡(jiǎn)單,如果是用Jaa開(kāi)發(fā)的話,只需要在erlet代碼中調(diào)用響應(yīng)重定向方法就可以了。在簡(jiǎn)化的情況下,只需要不到十行代碼就可以實(shí)現(xiàn)一個(gè)HTTP重定向負(fù)載均衡服務(wù)器。HTTP重定向負(fù)載均衡的優(yōu)點(diǎn)是設(shè)計(jì)比較簡(jiǎn)單,但是它的缺點(diǎn)也比較明顯,一方面用戶(hù)完成一次,就需要請(qǐng)求兩次數(shù)據(jù)中心,一次請(qǐng)求負(fù)載均衡服務(wù)器,一次是請(qǐng)求應(yīng)用服務(wù)器,另一個(gè)問(wèn)題是因?yàn)轫憫?yīng)要重定向到真正的應(yīng)用服務(wù)器,所以需要把應(yīng)用服務(wù)器的IP地址暴關(guān)閉不必要的端口,設(shè)置比較嚴(yán)格的權(quán)限,通常安全性更好一點(diǎn)。因此,一個(gè)聯(lián)網(wǎng)系統(tǒng)通常只將負(fù)載均衡服務(wù)器的IP地址對(duì)外,供用戶(hù),而應(yīng)用服務(wù)器則只是用內(nèi)網(wǎng)IP,外部者無(wú)法直接連接應(yīng)用服務(wù)器。但是使用HTTP重定向負(fù)載均衡,應(yīng)用服務(wù)器不得不使用公網(wǎng)IP,外部者可以直接連接到應(yīng)用服務(wù)器,系統(tǒng)的安全性會(huì)降因此HTTPDNS另一種實(shí)現(xiàn)負(fù)載均衡的技術(shù)方案是DNS負(fù)載均衡。我們知道瀏覽器或者App應(yīng)用數(shù)據(jù)中心的時(shí)候,通常是用進(jìn)行,HTTP協(xié)議則必須知道IP地址才能建立通信連接,那么是如何轉(zhuǎn)換成IP地址的呢?就是通過(guò)DNS服務(wù)器來(lái)完成。當(dāng)用戶(hù)從瀏覽器發(fā)起HTTP請(qǐng)求的時(shí)候,首先要到DNS服務(wù)器進(jìn)行解析,解析得到IP地址以后,用戶(hù)才能夠根據(jù)IP地址建立HTTP連接,真正的數(shù)據(jù)中心的應(yīng)用服務(wù)器,這時(shí)候就可以在DNS解析的時(shí)候進(jìn)行負(fù)載均衡,也就是說(shuō),不同的用戶(hù)進(jìn)行解析的時(shí)候,返回不同的IP地址,從而實(shí)現(xiàn)負(fù)載均衡。首先和HTTP重定向不同,用戶(hù)不需要每次請(qǐng)求都進(jìn)行DNS解析,第一次解析后,域其次,如果如圖中所示,解析直接得到應(yīng)用服務(wù)器的IP地址,確實(shí)會(huì)存在安全性問(wèn)題。但是大型互聯(lián)網(wǎng)應(yīng)用通常并不直接通過(guò)DNS解析得到應(yīng)用服務(wù)器IP地址,而是解析得到負(fù)載均衡服務(wù)器的IP地址。也就是說(shuō),大型網(wǎng)互聯(lián)網(wǎng)應(yīng)用需要兩次負(fù)載均衡,一次通這種方式,應(yīng)用服務(wù)器不需要用公網(wǎng)IP將自己給外部者,避免了安全性問(wèn)題。DS解析是服務(wù)商提供的一項(xiàng)基本服務(wù),幾乎所有的服務(wù)商都支持解析負(fù)載均衡,只需要在服務(wù)商的服務(wù)控制臺(tái)進(jìn)行一下配置,不需要開(kāi)發(fā)代碼進(jìn)行部署,就可以擁有DNS負(fù)載均衡服務(wù)了。目前大型的互聯(lián)網(wǎng)應(yīng)用,淘寶、、等全部使用DNS負(fù)載均衡。比如用不同的電腦就以看到,腦得到的IP我在 第22篇,緩存架構(gòu)中提到用戶(hù)請(qǐng)求到達(dá)數(shù)據(jù)中心以后,最先到達(dá)的就是反向服務(wù)器。反向服務(wù)器查找本機(jī)是否有請(qǐng)求的資源,如果有就直接返回資源數(shù)據(jù),如果沒(méi)有,就將請(qǐng)求發(fā)送給后面的應(yīng)用服務(wù)器繼續(xù)處理。事實(shí)上,發(fā)送請(qǐng)求給應(yīng)用服務(wù)器的時(shí)候,就可以進(jìn)行負(fù)載均衡,將不同的用戶(hù)請(qǐng)求分發(fā)到不同的服務(wù)器上面去。Nginx這樣的HTTP服務(wù)器就會(huì)同時(shí)提供反向與負(fù)載均衡功能。反向服務(wù)器是工作在HTTP協(xié)議層之上的,所以它的也是HTTP的請(qǐng)求和響應(yīng)。作為互聯(lián)網(wǎng)應(yīng)用層的一個(gè)協(xié)議,HTTP協(xié)議相對(duì)說(shuō)來(lái)比較重,效率比較低,所以反向負(fù)載IP反向負(fù)載均衡是工作在應(yīng)用層網(wǎng)絡(luò)協(xié)議上的負(fù)載均衡,因此也叫應(yīng)用層負(fù)載均衡。應(yīng)用層負(fù)載均衡之下的負(fù)載均衡方法是在TCPIP協(xié)議的P層進(jìn)行負(fù)載均衡,P層是網(wǎng)絡(luò)通訊協(xié)議的網(wǎng)絡(luò)層,所以有時(shí)候叫網(wǎng)絡(luò)層負(fù)載均衡。它的主要工作原理是當(dāng)用戶(hù)的請(qǐng)求到達(dá)負(fù)載均衡服務(wù)器以后,負(fù)載均衡服務(wù)器會(huì)對(duì)網(wǎng)絡(luò)層的數(shù)據(jù)包的P地址進(jìn)行轉(zhuǎn)換,修改P地址,將其修改為應(yīng)用服務(wù)器的P地址,然后把數(shù)據(jù)包重新發(fā)送出去,請(qǐng)求數(shù)據(jù)就會(huì)到達(dá)應(yīng)用服務(wù)器。IP負(fù)載均衡不需要在HTTP協(xié)議層工作,可以在操作系統(tǒng)內(nèi)核直接修改IP數(shù)據(jù)包的地址,響應(yīng)的數(shù)據(jù)包,都要通過(guò)負(fù)載均衡服務(wù)器進(jìn)行IP地址轉(zhuǎn)換,才能夠正確地把請(qǐng)求數(shù)據(jù)分發(fā)URL或者是一個(gè)簡(jiǎn)單的表單,但是響應(yīng)的數(shù)據(jù)不管是HTML還是,或者是JS、CSS數(shù)據(jù)鏈路層負(fù)載均衡可以解決響應(yīng)數(shù)據(jù)量大而導(dǎo)致的負(fù)載均衡服務(wù)器輸出帶寬不足的問(wèn)題。也就是說(shuō),負(fù)載均衡服務(wù)器并不修改數(shù)據(jù)包的IP地址,而是修改數(shù)據(jù)鏈路層里的網(wǎng)卡mac地址,在數(shù)據(jù)鏈路層實(shí)現(xiàn)負(fù)載均衡。而應(yīng)用服務(wù)器和負(fù)載均衡服務(wù)器都使用相同的虛擬IP地址,這樣P路由就不會(huì)受到影響,但是網(wǎng)卡會(huì)根據(jù)自己的mac地址,選擇負(fù)載均衡服務(wù)器發(fā)送到自己網(wǎng)卡的數(shù)據(jù)包,交給對(duì)應(yīng)的應(yīng)用程序去處理,處理,當(dāng)把響應(yīng)的數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)上的時(shí)候,因?yàn)镮P地址沒(méi)有修改過(guò),所以這個(gè)響應(yīng)會(huì)直接到達(dá)用戶(hù)的瀏覽器,而不會(huì)再經(jīng)過(guò)負(fù)載均衡服務(wù)器。LinuxIPLVSLVS負(fù)載均衡技術(shù)在早期剛出現(xiàn)的時(shí)候,設(shè)備昂貴,使用復(fù)雜,只有大企業(yè)才用得起、用得上,但是到了今天,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展與普及,負(fù)載均衡已經(jīng)是最常用的分布式技術(shù)之一了,使用也非常簡(jiǎn)單。如果使用云計(jì)算平臺(tái),只需要在控制臺(tái)點(diǎn)擊幾下,就可以配置實(shí)現(xiàn)一個(gè)負(fù)載均衡了。即使是自己部署一個(gè)負(fù)載均衡服務(wù)器,不管是直接用Linux還是用Nginx,我在這里主要描述的是負(fù)載均衡的網(wǎng)絡(luò)技術(shù)架構(gòu)。事實(shí)上,實(shí)現(xiàn)一個(gè)負(fù)載均衡,還需要關(guān)注負(fù)載均衡的算法,也就是說(shuō),當(dāng)一個(gè)請(qǐng)求到達(dá)負(fù)載均衡服務(wù)器的時(shí)候,負(fù)載均衡服務(wù)器該選擇集群中的哪一臺(tái)服務(wù)器將請(qǐng)求發(fā)送給它?目前主要的負(fù)載均衡算法有輪詢(xún)、隨機(jī)、最少連接幾種。輪詢(xún)就是將請(qǐng)求輪流發(fā)給應(yīng)用服務(wù)器,隨機(jī)就是將請(qǐng)求隨機(jī)發(fā)送給任一臺(tái)應(yīng)用服務(wù)器,最少連接則是根據(jù)應(yīng)用服務(wù)器當(dāng)前正在處理的連接數(shù),將請(qǐng)求分發(fā)給最少連接的服務(wù)器。HTTP編程語(yǔ)言寫(xiě)一個(gè)簡(jiǎn)化的HTTP

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論