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