閔其亮+胡耀晞+鐘教俊
摘要:在這個(gè)互聯(lián)網(wǎng)時(shí)代,云計(jì)算、大數(shù)據(jù)產(chǎn)業(yè)也發(fā)展迅速。云計(jì)算和大數(shù)據(jù)作為一個(gè)基于開(kāi)源軟件的平臺(tái),毫無(wú)疑問(wèn),Linux占據(jù)了核心優(yōu)勢(shì)。也許我們對(duì)Linux并不是很了解,但在接觸之后,才發(fā)現(xiàn)它有無(wú)窮的魅力,在進(jìn)一步了解之后,意識(shí)到Linux值得我們?nèi)ャ@研,去探究。
關(guān)鍵詞:開(kāi)源;負(fù)載均衡;輪詢方式;NAT;操作系統(tǒng)
Linux是一種自由和開(kāi)放源代碼的類UNIX操作系統(tǒng),該操作系統(tǒng)的內(nèi)核由林納斯?托瓦茲在1991年首次發(fā)布,之后再加上用戶空間的應(yīng)用程序,就成為L(zhǎng)inux操作系統(tǒng)。Linux常用來(lái)指基于Linux內(nèi)核的完整操作系統(tǒng),它包括GUI組件和許多其他實(shí)用工具。
Linux服務(wù)器操作系統(tǒng)在整個(gè)服務(wù)器操作系統(tǒng)市場(chǎng)格局中占據(jù)了越來(lái)越多的市場(chǎng)份額,已經(jīng)形成了大規(guī)模市場(chǎng)應(yīng)用的局面,并且保持著快速的增長(zhǎng)率,尤其在政府、金融、交通、電信等國(guó)家關(guān)鍵鄰域。據(jù)統(tǒng)計(jì),Linux在服務(wù)領(lǐng)域已經(jīng)占據(jù)了76%的市場(chǎng)份額,它的迅速崛起,已經(jīng)引起了全球IT產(chǎn)業(yè)的高度關(guān)注。
Linux成本低,其強(qiáng)大的定制功能以及良好的可移植性使得它在嵌入式系統(tǒng)方面也得到了廣泛應(yīng)用。我們?cè)谝苿?dòng)設(shè)備上使用的Andriod操作系統(tǒng),比如手機(jī)、路由器、電視等就是創(chuàng)建在Linux內(nèi)核之上的。目前,Android操作系統(tǒng)的全球市場(chǎng)份額已經(jīng)達(dá)到85%。此外,思科公司在網(wǎng)絡(luò)防火墻和路由器中也使用了定制Linux,阿里云和騰訊云也開(kāi)發(fā)了一套基于Linux操作系統(tǒng)的“YunOS”。
在這個(gè)互聯(lián)網(wǎng)時(shí)代,云計(jì)算、大數(shù)據(jù)產(chǎn)業(yè)也發(fā)展迅速。云計(jì)算和大數(shù)據(jù)作為一個(gè)基于開(kāi)源軟件的平臺(tái),毫無(wú)疑問(wèn),Linux占據(jù)了核心優(yōu)勢(shì)。據(jù)研究表明,Linux已經(jīng)開(kāi)始取代UNIX成為最受青睞的云計(jì)算、大數(shù)據(jù)平臺(tái)操作系統(tǒng)。
Linux發(fā)行的版本有很多,常見(jiàn)的Linux發(fā)行版有哪些呢?據(jù)我所了解,Linux主流的操作系統(tǒng)有Red Hat、CentOS、SuSE Linux、Ubuntu Linux等。我們主要來(lái)講解在CentOS下的一些簡(jiǎn)單的Linux實(shí)驗(yàn)。
首先,我們?cè)谧鲐?fù)載均衡實(shí)驗(yàn)之前,要了解什么是負(fù)載均衡,以及搭建負(fù)載均衡的作用。負(fù)載均衡,簡(jiǎn)稱CLB,它的作用是將大量并發(fā)訪問(wèn)或數(shù)據(jù)流量分擔(dān)到多臺(tái)節(jié)點(diǎn)設(shè)備上分別處理,從而有效保證每個(gè)請(qǐng)求都能夠得到最快處理。負(fù)載均衡的輪詢方式有三種,即加權(quán)輪詢、加權(quán)最小連接數(shù)和IPhash,三者的區(qū)別又有什么呢?
加權(quán)輪詢是根據(jù)服務(wù)器性能的好壞來(lái)分配權(quán)值,從而決定服務(wù)器處理的請(qǐng)求數(shù),服務(wù)器性能越高,分配給它的權(quán)值越高,那它處理的請(qǐng)求數(shù)越多。而加權(quán)最小連接數(shù)相對(duì)而言就人性化一些,由于每個(gè)請(qǐng)求數(shù)的時(shí)間不一樣,它通過(guò)服務(wù)器當(dāng)前的活躍連接數(shù)來(lái)估計(jì)服務(wù)器處理的負(fù)載情況,再給后端服務(wù)器分配不同權(quán)值;簡(jiǎn)言之,它是先看連接數(shù),再看權(quán)值。最后一種輪詢方式IPhash,是一種源地址散列調(diào)度算法,它根據(jù)源地址作為散列值,從靜態(tài)分配的散列值表里找出對(duì)應(yīng)的服務(wù)器,若該服務(wù)器可用且沒(méi)超載,則把請(qǐng)求發(fā)送給該服務(wù)器,交由它處理。三種輪詢方式各有其優(yōu)點(diǎn)。
常見(jiàn)的四層負(fù)載均衡軟件有LVS,七層負(fù)載均衡軟件有nginx和HAproxy。其中LVS有DR、NAT和Tunnel三種負(fù)載均衡方式。DR性能最好,能夠連接的RS最多,這種模式要求所有的服務(wù)器包括LVS服務(wù)器IP同在一個(gè)網(wǎng)段,預(yù)留的IP會(huì)比較多,且公網(wǎng)IP收費(fèi)成本高,所有的包都通過(guò)服務(wù)器組交換機(jī)轉(zhuǎn)發(fā),會(huì)增加服務(wù)器組交換機(jī)壓力。相對(duì)而言,NAT性能最差,能夠連接的RS和Tunnel模式都要少,且所有的數(shù)據(jù)包進(jìn)出都要經(jīng)過(guò)NAT,LVS容易成為整個(gè)系統(tǒng)的瓶頸。Tunnel性能好于NAT,低于DR,要求所有的RS都支持Tunnel模式。Tunnel模式支持跨地域的負(fù)載均衡。
上文提到的NAT是network address translation的縮寫,翻譯過(guò)來(lái)就是網(wǎng)絡(luò)地址轉(zhuǎn)換。常見(jiàn)的NAT有三種:靜態(tài)NAT、動(dòng)態(tài)NAT、動(dòng)態(tài)PAT。我們來(lái)具體介紹這三種NAT。第一種,靜態(tài)NAT是指內(nèi)部網(wǎng)絡(luò)的私有地址轉(zhuǎn)換為共有IP地址時(shí),IP地址是一對(duì)一的,是一成不變的,即某個(gè)私有IP地址只轉(zhuǎn)換為某個(gè)共有IP地址。借助于靜態(tài)NAT,可以實(shí)現(xiàn)外部網(wǎng)絡(luò)對(duì)內(nèi)部網(wǎng)絡(luò)中某些特定設(shè)備的服務(wù)器。第二種,動(dòng)態(tài)NAT是指將內(nèi)部網(wǎng)絡(luò)的私有IP地址轉(zhuǎn)換為公網(wǎng)IP地址時(shí),IP地址是不確定性的,隨機(jī)的,所有被授權(quán)訪問(wèn)上的Internet的私有IP地址可隨即轉(zhuǎn)換為任何指定的合法IP地址。也就是說(shuō),只要指定哪些內(nèi)部地址可以進(jìn)行轉(zhuǎn)換,以及用哪些合法地址作為外部地址時(shí),就可以進(jìn)行動(dòng)態(tài)轉(zhuǎn)換。動(dòng)態(tài)轉(zhuǎn)換可以使用多個(gè)合法外部地址集。當(dāng)ISP提供的合法IP地址略少于網(wǎng)絡(luò)內(nèi)部的計(jì)算數(shù)量時(shí),可以采用動(dòng)態(tài)轉(zhuǎn)換的方式。最后一種動(dòng)態(tài)PAT則是端口地址轉(zhuǎn)換,它采用端口多路復(fù)用方式,是指改變外出數(shù)據(jù)包的源端口并進(jìn)行端口轉(zhuǎn)換。目前網(wǎng)絡(luò)中應(yīng)用最多的就是端口多路復(fù)用方式。內(nèi)部網(wǎng)絡(luò)的所有主機(jī)均可共享一個(gè)合法外部IP地址實(shí)現(xiàn)對(duì)Internet的訪問(wèn),從而可以最大限度地節(jié)約IP地址資源,與此同時(shí),又可隱藏網(wǎng)絡(luò)內(nèi)部的所有主機(jī),有效避免來(lái)自Internet的攻擊。這三種方式各有各的特點(diǎn),適用于不同的應(yīng)用場(chǎng)景。
那什么是nginx呢?nginx是一個(gè)web服務(wù)器和反向代理服務(wù)器,用于HTTP、HTTPS、SMTP、POP3、IMAP協(xié)議。Nginx服務(wù)器的特性包括反向代理/L7負(fù)載均衡器、嵌入式Perl解析器、動(dòng)態(tài)二進(jìn)制升級(jí)等。
四層負(fù)載均衡和七層負(fù)載均衡的區(qū)別在于四層負(fù)載均衡依靠IP地址和端口號(hào)、負(fù)載均衡策略來(lái)完成數(shù)據(jù)通信工作。而七層負(fù)載均衡相比于四層負(fù)載均衡多了應(yīng)用層的檢查,它可以根據(jù)用戶的URL或MIME頭部來(lái)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),因此,七層負(fù)載均衡能實(shí)現(xiàn)更高級(jí)的負(fù)載均衡策略。
在這個(gè)互聯(lián)網(wǎng)時(shí)代,大眾所使用的筆記本大多都是Windows操作系統(tǒng),Windows操作系統(tǒng)與Linux有許多不同之處。眾所周知,Windows操作系統(tǒng)下運(yùn)行絕大部分軟件,硬件廠商近乎100%的支持,而Linux操作系統(tǒng)下可以直接運(yùn)行的軟件數(shù)量少之又少,尤其在游戲軟件數(shù)量上差別級(jí)大。再者,Windows操作系統(tǒng)放棄了dos的字符模式,主攻圖形界面;而Linux操作系統(tǒng)正好相反,Linux操作系統(tǒng)在自負(fù)模式運(yùn)行的更好,圖形界面于它而言只是附帶品。還有一個(gè)比較明顯的區(qū)別,那就是Linux操作系統(tǒng)是開(kāi)源的,而Windows操作系統(tǒng)是不開(kāi)源的。知識(shí)是無(wú)盡的,只有自己悉心專研,才會(huì)感受到它的魅力之所在,才能有更深刻的體會(huì),感受到它無(wú)窮的力量。
參考文獻(xiàn):
[1]張文波,王成,于三明.淺析Linux系統(tǒng)的網(wǎng)絡(luò)安全策略和措施[J].吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2003,24(2):63-65.
[2]張偉杰.淺析Linux技術(shù)的發(fā)展[J].吉林建筑大學(xué)學(xué)報(bào),2012, 29(2):73-75.endprint