官术网_书友最值得收藏!

4.5 負(fù)載均衡

在互聯(lián)網(wǎng)時(shí)代的早期,網(wǎng)站流量還相對(duì)較小,業(yè)務(wù)也相對(duì)簡(jiǎn)單,單臺(tái)服務(wù)器便可滿足訪問需要,但時(shí)至今日,互聯(lián)網(wǎng)應(yīng)用也好,企業(yè)級(jí)應(yīng)用也好,一般實(shí)際用于生產(chǎn)的系統(tǒng),幾乎都離不開集群部署。信息系統(tǒng)不論是單體架構(gòu)多副本還是微服務(wù)架構(gòu),不論是為了實(shí)現(xiàn)高可用還是為了獲得高性能,都需要利用多臺(tái)機(jī)器來擴(kuò)展服務(wù)能力,希望用戶的請(qǐng)求不管連接到哪臺(tái)機(jī)器上,都能得到相同的處理。另一方面,如何構(gòu)建和調(diào)度服務(wù)集群這件事,又必須對(duì)用戶保持足夠的透明,即使請(qǐng)求背后是由一千臺(tái)、一萬臺(tái)機(jī)器來共同響應(yīng)的,也無須用戶關(guān)心,他們只需要記住一個(gè)域名地址即可。調(diào)度后方的多臺(tái)機(jī)器,以統(tǒng)一的接口對(duì)外提供服務(wù),承擔(dān)此職責(zé)的技術(shù)組件被稱為“負(fù)載均衡”(Load Balancing)。

真正大型系統(tǒng)的負(fù)載均衡過程往往是多級(jí)的。譬如,在各地建有多個(gè)機(jī)房,或機(jī)房有不同網(wǎng)絡(luò)鏈路入口的大型互聯(lián)網(wǎng)站,會(huì)從DNS解析開始,通過“域名”→“CNAME”→“負(fù)載調(diào)度服務(wù)”→“就近的數(shù)據(jù)中心入口”的路徑,先將來訪地用戶根據(jù)IP地址(或者其他條件)分配到一個(gè)合適的數(shù)據(jù)中心中,然后才到各式負(fù)載均衡。在DNS層面的負(fù)載均衡與前面介紹的DNS智能線路、內(nèi)容分發(fā)網(wǎng)絡(luò)等在工作原理上是類似的,差別只是數(shù)據(jù)中心能提供的不只是緩存,而是全方位的服務(wù)能力。由于這種方式此前已經(jīng)詳細(xì)講解過,后續(xù)我們所討論的“負(fù)載均衡”就只聚焦于網(wǎng)絡(luò)請(qǐng)求進(jìn)入數(shù)據(jù)中心入口之后的其他級(jí)次的負(fù)載均衡。

無論在網(wǎng)關(guān)內(nèi)部建立了多少級(jí)的負(fù)載均衡,從形式上來說都可以分為兩種:四層負(fù)載均衡和七層負(fù)載均衡。在詳細(xì)介紹它們是什么以及如何工作之前,我們先來建立兩個(gè)總體的、概念性的印象。

·四層負(fù)載均衡的優(yōu)勢(shì)是性能高,七層負(fù)載均衡的優(yōu)勢(shì)是功能強(qiáng)。

·做多級(jí)混合負(fù)載均衡,通常應(yīng)是低層負(fù)載均衡在前,高層負(fù)載均衡在后。

我們所說的“四層”“七層”指的是經(jīng)典的OSI七層模型中的第四層傳輸層和第七層應(yīng)用層。表4-1是維基百科上對(duì)OSI七層模型的介紹(筆者做了簡(jiǎn)單的中文翻譯),這部分屬于網(wǎng)絡(luò)基礎(chǔ)知識(shí),這里就不多解釋了。后面我們會(huì)多次使用到這張表,如你對(duì)網(wǎng)絡(luò)知識(shí)并不是特別了解,可自行查閱相關(guān)資料。

表4-1 OSI七層模型

現(xiàn)在所說的“四層負(fù)載均衡”其實(shí)是多種均衡器工作模式的統(tǒng)稱,“四層”是說這些工作模式的共同特點(diǎn)是維持同一個(gè)TCP連接,而不是說它只工作在第四層。事實(shí)上,這些模式主要都工作在第二層(數(shù)據(jù)鏈路層,改寫MAC地址)和第三層(網(wǎng)絡(luò)層,改寫IP地址)上,單純只處理第四層(傳輸層,可以改寫TCP、UDP等協(xié)議的內(nèi)容和端口)的數(shù)據(jù)無法做到負(fù)載均衡的轉(zhuǎn)發(fā),因?yàn)镺SI的下三層是媒體層(Media Layer),上四層是主機(jī)層(Host Layer),既然流量都已經(jīng)到達(dá)目標(biāo)主機(jī)上了,也就談不上什么流量轉(zhuǎn)發(fā),最多只能做代理。但出于習(xí)慣和方便,現(xiàn)在幾乎所有的資料都把它們統(tǒng)稱為四層負(fù)載均衡,筆者也同樣稱呼它為四層負(fù)載均衡,如果讀者在某些資料上看見“二層負(fù)載均衡”“三層負(fù)載均衡”的表述,應(yīng)該了解這是在描述它們工作的具體層次,與這里說的“四層負(fù)載均衡”并不是同一類意思。下面筆者將介紹幾種常見的四層負(fù)載均衡的工作模式。

主站蜘蛛池模板: 那坡县| 江口县| 定陶县| 永川市| 万源市| 衡南县| 定州市| 平武县| 佳木斯市| 正蓝旗| 鄂州市| 亚东县| 金坛市| 渑池县| 凉山| 云浮市| 交口县| 伊金霍洛旗| 北安市| 光山县| 深水埗区| 昭苏县| 常熟市| 平和县| 青川县| 佛学| 诏安县| 长岛县| 六枝特区| 永德县| 石河子市| 温宿县| 安阳县| 卫辉市| 赣榆县| 洮南市| 海原县| 罗平县| 惠来县| 沈阳市| 东乌珠穆沁旗|