久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

女朋友問我 LB 是誰,?

 漫步之心情 2021-08-27

科普一下 LB(負(fù)載均衡)技術(shù)

我的編程導(dǎo)航網(wǎng)站:www.code-nav.cn

大家好,,我是魚皮。

周末在家寫代碼,,無意中跟女朋友提了下 LB,還說 LB 好的呱呱叫,。

她笑了笑,,問我 LB 是誰,?

女朋友問我 LB 是誰?

我急忙解釋道:LB 它可不是活人,,而是目前企業(yè)開發(fā)中常用的技術(shù) —— 負(fù)載均衡,,下面讓我給你講講吧!

負(fù)載均衡

介紹

假如我們剛剛上線一個網(wǎng)站,,最多只有 10 個人同時訪問,,那么只需要把網(wǎng)站放到一臺服務(wù)器上就夠了,又叫 單機部署

女朋友問我 LB 是誰,?

隨著我們網(wǎng)站的不斷宣傳,,可能出現(xiàn)上萬用戶同時訪問的情況。由于一臺服務(wù)器的 CPU,、內(nèi)存,、帶寬等資源都是有限的,無法同時支撐那么多用戶,。因此可能需要多臺服務(wù)器一起來扛,,分?jǐn)傆脩舻恼埱螅阋话胛乙话?,又?集群部署

女朋友問我 LB 是誰,?

但這樣有個問題,每個服務(wù)器都有一個不同的 IP 地址,,想把用戶的請求分?jǐn)偟讲煌姆?wù)器上,,總不能讓用戶自己去輸入不同的 IP 訪問吧?

因此,,我們還需要一臺 代理服務(wù)器 ,,對外提供 唯一 的入口,統(tǒng)一 接受用戶的請求,。再根據(jù)請求(或流量)的 特征 ,,依據(jù)一定的 算法 ,將請求轉(zhuǎn)發(fā)到內(nèi)部的服務(wù)器集群中,,如圖:

女朋友問我 LB 是誰,?

這樣對于用戶來說,始終通過一個域名訪問網(wǎng)站即可,,他完全感知不到你的網(wǎng)站到底部署到多少臺服務(wù)器上,、也不關(guān)心它是如何部署的。

這便是 負(fù)載均衡(Load Balancing 簡稱 LB),,是企業(yè)中最重要的高并發(fā)解決方案之一,。

作用

負(fù)載均衡最直觀的作用就是提高系統(tǒng)的并發(fā)度,說人話就是允許更多人同時訪問了,。

它還可以提高整個系統(tǒng)的可用性,,假如集群中有一臺服務(wù)器掛了,,代理服務(wù)器只要不再把請求轉(zhuǎn)發(fā)給它就行了,集群中的其他服務(wù)器仍然能夠正常地接受和處理請求,。

此外,,負(fù)載均衡還能夠減少用戶等待響應(yīng)的時間、通過并行提高整個系統(tǒng)的處理能力等,。

女朋友問我 LB 是誰,?

分類

雖然通過代理服務(wù)器轉(zhuǎn)發(fā)請求能夠提升整個系統(tǒng)的并發(fā)訪問數(shù),但不要忘了,,代理服務(wù)器本身的資源也是有限的?。∠癖容^常用的 Nginx 代理,,能有個幾萬并發(fā)就撐死了,。如果同時訪問的用戶量再大一點,不就忍不下了么,?,!

女朋友問我 LB 是誰?

而且代理服務(wù)器也存在掛掉的可能性,,一旦它掛了,,后果不堪設(shè)想。

因此,,我們可以將負(fù)載均衡進行分類,,針對不同的場景來選擇相對合適的實現(xiàn)方式。

比較常見的分類方法是:根據(jù) 計算機網(wǎng)絡(luò)七層模型 ,,按照負(fù)載均衡所屬的網(wǎng)絡(luò)層次去區(qū)分,。

下面這張計算機網(wǎng)絡(luò)模型圖還是很棒的:

女朋友問我 LB 是誰?

計算機網(wǎng)絡(luò)模型

有關(guān)計算機網(wǎng)絡(luò)的知識非本文重點,,大家可以自行去了解,,不懂也沒關(guān)系,可以接著往下看,。

無論是哪層負(fù)載均衡,,都需要有代理服務(wù)器,并且對外提供唯一的 IP 地址,,然后根據(jù)算法將請求轉(zhuǎn)發(fā)到目標(biāo)服務(wù)器(實際處理請求的服務(wù)器),。只不過實現(xiàn)轉(zhuǎn)發(fā)的原理和邏輯不同罷了。

二層負(fù)載均衡

二層指數(shù)據(jù)鏈路層,,數(shù)據(jù)以數(shù)據(jù)幀的形式通過交換機進行傳輸,。

這一層是沒有 IP 地址概念的,只能用 MAC 地址對機器進行區(qū)分。因此負(fù)載均衡服務(wù)器會通過一個虛擬 MAC 地址接受請求,,并通過改寫報文目標(biāo) MAC 地址的方式將請求轉(zhuǎn)發(fā)到具有不同 MAC 地址的目標(biāo)機器,。

女朋友問我 LB 是誰?

二層負(fù)載均衡最原始,、性能極高。但只能通過硬件設(shè)備實現(xiàn),,比如 F5,、Array 等,價格十分昂貴,。

主要的底層實現(xiàn)方式就是 PPP 捆綁和鏈路聚合技術(shù),,這里不做贅述,對于開發(fā)同學(xué)來說,,大家一般也接觸不到二層負(fù)載均衡,。

三層負(fù)載均衡

三層即網(wǎng)絡(luò)層,這一層開始有了 IP 地址的概念,,可以根據(jù) IP 地址路由網(wǎng)絡(luò),。

這一層的負(fù)載均衡設(shè)備會對外提供一個虛擬的 IP 地址(VIP)以接收請求,然后根據(jù)算法將請求轉(zhuǎn)發(fā)到 IP 地址不同的目標(biāo)機器,。

女朋友問我 LB 是誰,?

和二層一樣,三層負(fù)載均衡也是通過硬件設(shè)備實現(xiàn),,成本也比較高,。

四層負(fù)載均衡

四層即傳輸層,除了包含三層的 IP 地址信息之外,,還多了源目端口號的概念,,可以區(qū)分同一機器上不同的應(yīng)用。

由于得到了更多的信息,,這一層的負(fù)載均衡會更加靈活,,對外提供一個虛擬的 IP 地址 端口號來接收請求,然后根據(jù)算法將請求轉(zhuǎn)發(fā)到不同目標(biāo)機器的不同端口上,。

女朋友問我 LB 是誰,?

四層負(fù)載均衡可以通過軟件實現(xiàn),比如主流且開源的 LVS(Linux Virtual Server),,底層可選多種負(fù)載模式,,比如 NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)、DR(直接路由),、TUN(隧道),。

四層負(fù)載均衡的優(yōu)點是:一方面是性能很高、比較穩(wěn)定,支撐個十幾萬,、幾十萬并發(fā)不成問題,;另一方面是成本低、純軟件實現(xiàn),,因此在企業(yè)中的應(yīng)用很廣泛,。

七層負(fù)載均衡

七層指應(yīng)用層,是計算機網(wǎng)絡(luò)模型的最上層,,因此能得到請求最為詳細的信息,,比如 HTTP 請求頭等。

可以根據(jù)域名或主機 IP 端口接收請求,,并通過應(yīng)用層信息(請求頭,、Cookie 等)靈活地轉(zhuǎn)發(fā)請求,比如將手機端用戶轉(zhuǎn)發(fā)到服務(wù)器 A,、桌面端用戶轉(zhuǎn)發(fā)到服務(wù)器 B 等,。

女朋友問我 LB 是誰?

這種方式實現(xiàn)成本最低,,也最為靈活,,因此也是我們應(yīng)用開發(fā)人員最常用的了。

實現(xiàn)方式多種多樣,,比如主流的 Nginx,、HAProxy 都可以,寫個配置基本就能轉(zhuǎn)發(fā)請求了,,大部分情況下性能也夠用了,。

再提一下所屬于這層的 DNS 負(fù)載均衡 ,基于 DNS 域名解析服務(wù),,可以將同一個域名解析為不同的 IP 地址,,從而讓用戶訪問到不同服務(wù)器上的項目。

這種方式實現(xiàn)起來不難,,但轉(zhuǎn)發(fā)邏輯不夠靈活,,而且 DNS 存在緩存,不利于修改,。


除了上面講到的這些,,負(fù)載均衡還有很多學(xué)問,比如負(fù)載均衡算法(比如常用的靜態(tài)輪詢,、動態(tài)連接數(shù)等),、高可用等,這些大家自行了解和實踐下就好了,,具體場景具體分析,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多