當前位置:首頁 > 公眾號精選 > 架構(gòu)師社區(qū)
[導讀]首先告訴大家一件事,在十一國慶期間,引擎的機器又又。。。又扛不住了流量。經(jīng)過監(jiān)控分析,發(fā)現(xiàn)某個服務的一個實例所在的虛擬機扛不住了,所以采取臨時措施流量控制之后,問題解決了,但還是造成了不小的損失。經(jīng)過此次故障,以及分析故障的過程中對負載均衡又有了新的更加深入的認識,所以將這部分寫...


首先告訴大家一件事,在十一國慶期間,引擎的機器又又。。。又扛不住了流量。

經(jīng)過監(jiān)控分析,發(fā)現(xiàn)某個服務的一個實例所在的虛擬機扛不住了,所以采取臨時措施流量控制之后,問題解決了,但還是造成了不小的損失。

經(jīng)過此次故障,以及分析故障的過程中對負載均衡又有了新的更加深入的認識,所以將這部分寫出來,算是做個故障總結(jié)吧。

1寫在前面

寫本文的目的:

  • 對負載均衡的理解零零散散,不成體系。
閱讀這篇文章需要的條件:

  • 對OSI模型有些許了解
  • 有耐心。本文涉及大量的知識點,且只能用文字才能講清楚,所以文字比較多。
收獲:

  • 讀完此篇文章,從宏觀的角度理解了負載均衡的原理以及實現(xiàn)機制。加深對分布式架構(gòu)的了解
主要內(nèi)容:

  • 本文首先從概念開始,講解什么是負載均衡,以及負載均衡在分布式系統(tǒng)中所承擔的角色以及提供的功能。
  • 講解負載均衡的分類。分別從 軟硬件角度地域范圍角度 以及 OSI模型角度 進行分類講解負載均衡的實現(xiàn)方案。
  • 從負載均衡的策略角度來分析目前業(yè)界的負載均衡算法以及其優(yōu)缺點
好了,準備好了么,讓我們開始這次愉快之旅。

2引言

首先 撇開對線上的影響,如果線上突發(fā)來了流量,后端服務扛不住,我們會怎么做呢?無非兩種方式:

  • 提升機器配置(CPU、內(nèi)存、硬盤、帶寬等)
  • 加機器
上面兩種方式,我們稱之為縱向擴展和橫向擴展。

縱向擴展,是從單機的角度通過增加硬件處理能力,比如CPU處理能力,內(nèi)存容量,磁盤等方面,實現(xiàn)服務器處理能力的提升,不能滿足大型分布式系統(tǒng)(網(wǎng)站),大流量,高并發(fā),海量數(shù)據(jù)的問題。

橫向擴展,通過添加機器來滿足大型網(wǎng)站服務的處理能力。比如:一臺機器不能滿足,則增加兩臺或者多臺機器,共同承擔訪問壓力。

3概念

負載均衡,英文名稱為Load Balance,其含義就是指將負載(工作任務或者網(wǎng)絡請求)進行平衡,分攤到多個操作單元(服務器或者組件)上進行運行。目的是盡量將網(wǎng)絡流量 平均 發(fā)送到多個服務器上,以保證整個業(yè)務系統(tǒng)的高可用。

負載均衡
在互聯(lián)網(wǎng)的早期,網(wǎng)絡還不是很發(fā)達,流量相對較小,業(yè)務也比較簡單,單臺服務器或者實例就有可能滿足訪問需要。但如今在互聯(lián)網(wǎng)發(fā)達的今天,流量請求動輒百億、甚至上千億,單臺服務器或者實例已完全不能滿足需求,這就有了集群。不論是為了實現(xiàn)高可用還是高性能,都需要用到多臺機器來擴展服務能力,用戶的請求不管連接到哪臺服務器,都能得到相同的相應處理。

另一方面,如何構(gòu)建和調(diào)度服務集群這事情,又必須對用戶一側(cè)保持足夠的透明,即使請求背后是由一千臺、一萬臺機器來共同響應的,也絕非用戶所關(guān)心的事情,用戶需記住的只有一個域名地址而已。調(diào)度后方的多臺機器,以統(tǒng)一的接口對外提供服務,承擔此職責的技術(shù)組件被稱為 負載均衡

負載均衡主要有以下作用:

  • 高并發(fā)。通過采取一定的算法策略,將流量盡可能的均勻發(fā)送給后端的實例,以此提高集群的并發(fā)處理能力。

  • 伸縮性。根據(jù)網(wǎng)絡流量的大小,增加或者減少后端服務器實例,由負載均衡設備進行控制,這樣使得集群具有伸縮性。

  • 高可用。負載均衡器通過算法或者其他性能數(shù)據(jù)來監(jiān)控候選實例,當實例負載過高或者異常時,減少其流量請求或者直接跳過該實例,將請求發(fā)送個其他可用實例,這使得集群具有高可用的特性。

  • 安全防護。有些負載均衡器提供了安全防護功能。如:黑白名單處理、防火墻等。

4分類

根據(jù)載體類型分類

從支持負載均衡的載體來看,可以將負載均衡分為兩類:

  • 硬件負載均衡
  • 軟件負載均衡
硬件負載均衡
硬件負載平衡器是一種硬件設備,具有專門的操作系統(tǒng)。硬件負載平衡器位于傳入流量和內(nèi)部服務器之間,本質(zhì)上充當“流量警察”。當用戶訪問網(wǎng)站或者使用app某個功能時,它們首先被發(fā)送到負載均衡器,然后負載均衡器根據(jù)一定的策略,將流量轉(zhuǎn)發(fā)到后端不同的服務器。為確保最佳性能,硬件負載均衡器根據(jù)自定義規(guī)則分配流量,以免后端實例不堪重負。

傳統(tǒng)上,硬件負載平衡器和應用服務器部署在本地數(shù)據(jù)中心,負載平衡器的數(shù)量取決于預期的峰值流量。負載均衡器通常成對部署,以防其中一個失敗。

目前業(yè)界領先的兩款硬件負載均衡器:F5和A10

硬件負載均衡
優(yōu)點:

功能強大:支持全局負載均衡并提供較全面的、復雜的負載均衡算法。

性能強悍:硬件負載均衡由于是在專用處理器上運行,因此吞吐量大,可支持單機百萬以上的并發(fā)。

安全性高:往往具備防火墻,防 DDos 攻擊等安全功能。

缺點

成本昂貴:購買和維護硬件負載均衡的成本都很高(:F5價格在15w~55w不等,A10價格在55w-100w不等)。

擴展性差:當訪問量突增時,超過限度不能動態(tài)擴容。

軟件負載均衡
軟件負載均衡指的是在服務器的操作系統(tǒng)上安裝負載均衡軟件,從此服務器發(fā)出的請求經(jīng)軟件負載均衡算法路由到后端集群的某一臺機器上。

常見負載均衡軟件有:LVS、Nginx、Haproxy。

軟件負載均衡
優(yōu)點

擴展性好:適應動態(tài)變化,可以通過添加軟件負載均衡實例,動態(tài)擴展到超出初始容量的能力。

成本低廉:軟件負載均衡可以在任何標準物理設備上運行,降低了購買和運維的成本。

缺點

性能略差:相比于硬件負載均衡,軟件負載均衡的性能要略低一些。

軟硬件負載均衡器的區(qū)別

  • 硬件負載平衡器與軟件負載平衡器之間最明顯的區(qū)別在于,硬件負載平衡器需要專有的機架堆疊硬件設備,而軟件負載平衡器只需安裝在標準 x86 服務器或虛擬機上。網(wǎng)絡負載平衡器硬件通常是過度配置的——換句話說,它們的大小能夠處理偶爾的高峰流量負載。此外,每個硬件設備都必須與一個額外的設備配對以獲得高可用性,以防其他負載均衡器出現(xiàn)故障。

  • 硬件和軟件負載平衡器之間的另一個關(guān)鍵區(qū)別在于擴展能力。隨著網(wǎng)絡流量的增長,數(shù)據(jù)中心必須提供足夠的負載均衡器以滿足峰值需求。對于許多企業(yè)來說,這意味著大多數(shù)負載均衡器在高峰流量時間(例如黑色星期五)之前一直處于空閑狀態(tài)。

  • 如果流量意外超出容量,最終用戶體驗會受到顯著影響。另一方面,軟件負載平衡器能夠彈性擴展以滿足需求。無論網(wǎng)絡流量是低還是高,軟件負載平衡器都可以簡單地實時自動擴展,消除過度配置成本和對意外流量激增的擔憂。

  • 此外,硬件負載平衡器配置可能很復雜?;谲浖x原則構(gòu)建的軟件負載平衡器跨多個數(shù)據(jù)中心和混合/多云環(huán)境。事實上,硬件設備與云環(huán)境不兼容,而軟件負載均衡器與裸機、虛擬、容器和云平臺兼容。

根據(jù)地域范圍分類

負載均衡從其應用的地理結(jié)構(gòu)上分為本地負載均衡(Local Load Balance)和全局負載均衡(Global Load Balance,也叫地域負載均衡)。

地域負載均衡
本地負載均衡
本地負載均衡是指對本地的服務器群做負載均衡。

本地負載均衡針對本地范圍的服務器群做負載均衡,本地負載均衡不需要花費高額成本購置高性能服務器,只需利用現(xiàn)有設備資源,就可有效避免服務器單點故障造成數(shù)據(jù)流量的損失,通常用來解決數(shù)據(jù)流量過大、網(wǎng)絡負荷過重的問題。同時它擁有形式多樣的均衡策略把數(shù)據(jù)流量合理均衡的分配到各臺服務器。如果需要在現(xiàn)在服務器上升級擴充,不需改變現(xiàn)有網(wǎng)絡結(jié)構(gòu)、停止現(xiàn)有服務,僅需要在服務群中簡單地添加一臺新服務器。

本地負載均衡能有效地解決數(shù)據(jù)流量過大、網(wǎng)絡負荷過重的問題,并且不需花費昂貴開支購置性能卓越的服務器,充分利用現(xiàn)有設備,避免服務器單點故障造成數(shù)據(jù)流量的損失。

其有靈活多樣的均衡策略把數(shù)據(jù)流量合理地分配給服務器群內(nèi)的服務器共同負擔。即使是再給現(xiàn)有服務器擴充升級,也只是簡單地增加一個新的服務器到服務群中,而不需改變現(xiàn)有網(wǎng)絡結(jié)構(gòu)、停止現(xiàn)有的服務。

全局負載均衡
全局負載均衡是指對分別放置在不同的地理位置、有不同網(wǎng)絡結(jié)構(gòu)的服務器群間作負載均衡。

全局負載均衡主要用于在一個多區(qū)域擁有自己服務器的站點,為了使全球用戶只以一個IP地址或域名就能訪問到離自己最近的服務器,從而獲得最快的訪問速度,也可用于子公司分散站點分布廣的大公司通過Intranet(企業(yè)內(nèi)部互聯(lián)網(wǎng))來達到資源統(tǒng)一合理分配的目的。

全局負載均衡,目前實現(xiàn)方式有以下幾種:

  • 通過運營商線路調(diào)度:這個主要是指國內(nèi),由于特殊原因國內(nèi)不同運營商互聯(lián)互通存在很大問題,比如聯(lián)通用戶訪問電信機房服務器延遲很大,甚至有可能無法訪問的情況。假如您的業(yè)務部署在不同運營商機房,可以通過運營商線路解析來實現(xiàn)調(diào)度,聯(lián)通線路用戶域名解析到聯(lián)通機房IP,電信線路用戶域名解析電信機房IP,這樣保證不同用戶訪問最佳的服務器。

  • 通過地域線路調(diào)度:

    • 我們都知道,網(wǎng)站服務器越近,訪問速度越快,比如天津用戶訪問北京服務器會比廣州服務器快很多。假如您的業(yè)務部署在華北,華南兩個Region,可以通過地域線路解析,設置華北,東北,西北,華中用戶訪問域名解析到北京服務器IP,華東,華南,西南用戶訪問域名解析到廣州服務器IP,這樣用戶訪問離自己最近的服務器可以提升訪問體驗。
    • 假如您的業(yè)務是面向全球的,國內(nèi)部署有業(yè)務,海外也部署有業(yè)務,可以選擇中國用戶訪問域名解析到國內(nèi)服務器,海外用戶訪問域名解析到海外服務器。當然海外的還可以細分,比如選擇亞太--新加坡的用戶等,可以具體到洲,國家。
  • 權(quán)重輪詢:比如一個域名解析到多個IP,可以根據(jù)不同IP服務器的配置,業(yè)務情況設置解析比重,比如2:1或者1:1等等。

  • 健康檢查,故障轉(zhuǎn)移:可以創(chuàng)建監(jiān)控任務實時監(jiān)控后端服務器IP的健康狀態(tài),如果發(fā)現(xiàn)后端服務器異常,可以把解析流量切換到其他正常的服務器或者備用服務器,保證業(yè)務不會中斷。

CDN的全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡。其就是采用的全局負載均衡。假如我們將圖片存儲在CDN上,且該CDN所在廠家在北京、杭州均有服務器。那么:

  • 當天津的用戶需要下載該圖片的時候,會自動將流量請求轉(zhuǎn)發(fā)至距離其最近的CDN服務器,也就是北京
  • 當安徽的用戶需要下載圖片的時候,就會將流量請求轉(zhuǎn)發(fā)至杭州。

根據(jù)OSI網(wǎng)絡模型分類

OSI是一個開放性的通信系統(tǒng)互連參考模型,如上圖所示。在OSI參考模型中,分別有:

  • 應用層
  • 表示層
  • 會話層
  • 傳輸層
  • 網(wǎng)絡層
  • 數(shù)據(jù)鏈路層
  • 物理層
從上圖可以看出:

TELNET、HTTP、FTP、NFS、SMTP、DNS等屬于第七層應用層的概念。

TCP、UDP、SPX等屬于第四層傳輸層的概念。

IP、IPX等屬于第三層網(wǎng)絡層的概念。

ATM、FDDI等屬于第二層數(shù)據(jù)鏈路層的概念。

根據(jù)負載均衡技術(shù)實現(xiàn)在OSI七層模型的不同層次,我們給負載均衡分類:

  • 七層負載均衡:工作在應用層的負載均衡稱
  • 四層負載均衡:工作在傳輸層的負載均衡稱
  • 三層負載均衡:工作在網(wǎng)絡層的負載均衡,
  • 二層負載均衡:工作在數(shù)據(jù)鏈路層的負載均衡。

其中最常用的是四層和七層負載均衡。

下面我們將從OSI模型從下往上的順序,來詳細講解上述幾種負載均衡。

二層負載均衡
工作在數(shù)據(jù)鏈路層的負載均衡稱之為二層負載均衡(又稱為數(shù)據(jù)鏈路層負載均衡),通過在通信協(xié)議的數(shù)據(jù)鏈路層修改mac地址進行負載均衡。

二層負載均衡是基于數(shù)據(jù)鏈路層的負載均衡,即讓負載均衡服務器和業(yè)務服務器綁定同一個虛擬IP(即VIP),客戶端直接通過這個VIP進行請求集群。集群中不同的機器采用相同IP地址,但是機器的MAC地址不一樣。當負載均衡服務器接受到請求之后,通過改寫報文的目標MAC地址的方式將請求轉(zhuǎn)發(fā)到目標機器實現(xiàn)負載均衡。

數(shù)據(jù)鏈路層負載均衡所做的工作,是修改請求的數(shù)據(jù)幀中的 MAC 目標地址,讓用戶原本是發(fā)送給負載均衡器的請求的數(shù)據(jù)幀,被二層交換機根據(jù)新的 MAC 目標地址轉(zhuǎn)發(fā)到服務器集群中對應的服務器(真實服務器)的網(wǎng)卡上,這樣真實服務器就獲得了一個原本目標并不是發(fā)送給它的數(shù)據(jù)幀。

為了便于理解,我們假設負載均衡器所在的ip地址為192.168.1.1,后端服務實例的mac地址分別為52:54:00:A1:CB:F7,61:52:00:A2:BD, 71:63:52:A3:CA。如下圖所示:

二層負載均衡
在上圖中,用戶的請求首先到達ip為192.168.1.1的二層負載均衡器,然后二層負載均衡器通過采取一定的策略,選中了mac地址為71:63:52:A3:CA,然后將流量轉(zhuǎn)發(fā)至該服務實例。

需要注意的是,上述只有請求經(jīng)過負載均衡器,而服務的響應無須從負載均衡器原路返回的工作模式,整個請求、轉(zhuǎn)發(fā)、響應的鏈路形成一個“三角關(guān)系”,所以這種負載均衡模式也常被很形象地稱為“三角傳輸模式”,也有叫“單臂模式”或者“直接路由”。

二層負載均衡器直接改寫目標 MAC 地址的工作原理決定了它與真實的服務器的通信必須是二層可達的,通俗地說就是必須位于同一個子網(wǎng)當中,無法跨 VLAN。優(yōu)勢(效率高)和劣勢(不能跨子網(wǎng))共同決定了數(shù)據(jù)鏈路層負載均衡最適合用來做數(shù)據(jù)中心的第一級均衡設備,用來連接其他的下級負載均衡器。

三層負載均衡
三層負載均衡是基于網(wǎng)絡層的負載均衡,因此又叫網(wǎng)絡層負載均衡。通俗的說就是按照不同機器不同IP地址進行轉(zhuǎn)發(fā)請求到不同的機器上。

根據(jù) OSI 七層模型,在第三層網(wǎng)絡層傳輸?shù)膯挝皇欠纸M數(shù)據(jù)包,這是一種在分組交換網(wǎng)絡中傳輸?shù)慕Y(jié)構(gòu)化數(shù)據(jù)單位。以IP協(xié)議為例,一個IP 數(shù)據(jù)包由 Headers 和 Payload 兩部分組成, Headers 長度最大為60Bytes,其中包括了20Bytes的固定數(shù)據(jù)和最長不超過40Bytes 的可選的額外設置組成。

三層負載均衡服務器對外依然提供一個VIP(虛IP),但是集群中不同的機器采用不同的IP地址。當負載均衡服務器接受到請求之后,根據(jù)不同的負載均衡算法,通過IP將請求轉(zhuǎn)發(fā)至不同的真實服務器。

學過計算機網(wǎng)絡的都知道,在IP分組的數(shù)據(jù)報header中有 源IP目標IP。源IP和目標IP代表分組交換中數(shù)據(jù)是從哪臺機器到哪臺機器的,那么,我們可以采用跟修改二層負載均衡中MAC地址的方式一樣,直接修改目標IP,以達到數(shù)據(jù)轉(zhuǎn)發(fā)的目的。

修改目標IP的方式有兩種:1、原有的數(shù)據(jù)包保持不變,生成一個新的數(shù)據(jù)包,原數(shù)據(jù)包的Header和Payload作為新數(shù)據(jù)包的Payload,在這個新數(shù)據(jù)包的 Headers 中寫入真實服務器的 IP 作為目標地址,然后把它發(fā)送出去。

真實服務器收到數(shù)據(jù)包后,必須在接收入口處設計一個針對性的拆包機制,把由負載均衡器自動添加的那層 Headers 扔掉,還原出原來的數(shù)據(jù)包來進行使用。這樣,真實服務器就同樣拿到了一個原本不是發(fā)給它(目標 IP 不是它)的數(shù)據(jù)包,達到了流量轉(zhuǎn)發(fā)的目的。這種數(shù)據(jù)傳輸方式叫做 IP隧道 傳輸。

盡管因為要封裝新的數(shù)據(jù)包,IP 隧道的轉(zhuǎn)發(fā)模式比起直接路由模式效率會有所下降,但由于并沒有修改原有數(shù)據(jù)包中的任何信息,所以 IP 隧道的轉(zhuǎn)發(fā)模式仍然具備三角傳輸?shù)奶匦?,即負載均衡器轉(zhuǎn)發(fā)來的請求,可以由真實服務器去直接應答,無須在經(jīng)過均衡器原路返回。而且由于 IP 隧道工作在網(wǎng)絡層,所以可以跨越 VLAN,因此擺脫了直接路由模式中網(wǎng)絡側(cè)的約束。

此模式從請求到響應如下圖所示:

IP隧道模式負載均衡
優(yōu)點:

  • 可以跨越 VLAN 缺點:
  • 要求真實服務器必須支持IP隧道協(xié)議,也就是說服務器需要自己會拆包
  • 必須通過專門的配置,必須保證所有的真實服務器與均衡器有著相同的虛擬 IP 地址,因為回復該數(shù)據(jù)包時,需要使用這個虛擬 IP 作為響應數(shù)據(jù)包的源地址,這樣客戶端收到這個數(shù)據(jù)包時才能正確解析。
基于以上原因,就有了第二種修改方式。2、改變目標數(shù)據(jù)包。

直接把數(shù)據(jù)包 Headers 中的目標地址改為真實服務器地址,修改后原本由用戶發(fā)給均衡器的數(shù)據(jù)包,也會被三層交換機轉(zhuǎn)發(fā)送到真實服務器的網(wǎng)卡上,而且因為沒有經(jīng)過 IP 隧道的額外包裝,也就無須再拆包了。

因為這種模式是通過修改目標 IP 地址才到達真實服務器的,如果真實服務器直接將應答包返回客戶端的話,這個應答數(shù)據(jù)包的源 IP 是真實服務器的 IP,也即均衡器修改以后的 IP 地址,客戶端不可能認識該 IP,自然就無法再正常處理這個應答了。因此,只能讓應答流量繼續(xù)回到負載均衡,由負載均衡把應答包的源 IP 改回自己的 IP,再發(fā)給客戶端,這樣才能保證客戶端與真實服務器之間的正常通信。

這種修改目標IP的方式叫NAT模式,這種通過修改目標IP的方式達到負載均衡目的的方式叫做NAT負載均衡。如下圖所示:

NAT模式負載均衡
四層負載均衡
所謂四層負載均衡,也就是主要通過報文中的目標地址和端口,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內(nèi)部服務器。

由于四層負載均衡是作用在傳輸層,因此,我們就以常見的TCP進行舉例。

負載均衡設備在接收到第一個來自客戶端的SYN 請求時,即通過上述方式選擇一個最佳的服務器,并對報文中目標IP地址進行修改(改為后端服務器IP),直接轉(zhuǎn)發(fā)給該服務器。TCP的連接建立,即三次握手是客戶端和服務器直接建立的,負載均衡設備只是起到一個類似路由器的轉(zhuǎn)發(fā)動作。在某些部署情況下,為保證服務器回包可以正確返回給負載均衡設備,在轉(zhuǎn)發(fā)報文的同時可能還會對報文原來的源地址進行修改。

四層負載均衡
四層負載均衡主要是基于tcp協(xié)議報文,可以做任何基于tcp/ip協(xié)議的軟件的負載均衡,比如Haproxy、LVS等。

七層負載均衡
所謂七層負載均衡,也稱為“內(nèi)容交換”,也就是主要通過報文中的真正有意義的應用層內(nèi)容,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內(nèi)部服務器。

應用層協(xié)議較多,常用http、radius、dns等。七層負載就可以基于這些協(xié)議來負載。

我們?nèi)匀灰訲CP為例。負載均衡設備如果要根據(jù)真正的應用層內(nèi)容再選擇服務器,只能先代理最終的服務器和客戶端建立連接(三次握手)后,才可能接受到客戶端發(fā)送的真正應用層內(nèi)容的報文,然后再根據(jù)該報文中的特定字段,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內(nèi)部服務器。負載均衡設備在這種情況下,更類似于一個代理服務器。負載均衡和前端的客戶端以及后端的服務器會分別建立TCP連接。所以從這個技術(shù)原理上來看,七層負載均衡明顯的對負載均衡設備的要求更高,處理七層的能力也必然會低于四層模式的部署方式。

七層負載均衡器會與客戶端 以及 后端的服務實例分別建立連接

七層負載均衡
七層負載均衡基本都是基于http協(xié)議的,適用于web服務器的負載均衡,比如Nginx等。

對比(四層和七層)

  • 智能性

    • 七層負載均衡由于具備OIS七層的所有功能,所以在處理用戶需求上能更加靈活,從理論上講,七層模型能對用戶的所有跟服務端的請求進行修改。例如對文件header添加信息,根據(jù)不同的文件類型進行分類轉(zhuǎn)發(fā)。
    • 四層模型僅支持基于網(wǎng)絡層的需求轉(zhuǎn)發(fā),不能修改用戶請求的內(nèi)容。
  • 安全性

    • 七層負載均衡由于具有OSI模型的全部功能,能更容易抵御來自網(wǎng)絡的攻擊
    • 四層模型從原理上講,會直接將用戶的請求轉(zhuǎn)發(fā)給后端節(jié)點,無法直接抵御網(wǎng)絡攻擊。
  • 復雜度

    • 四層模型一般比較簡單的架構(gòu),容易管理,容易定位問題
    • 七層模型架構(gòu)比較復雜,通常也需要考慮結(jié)合四層模型的混用情況,出現(xiàn)問題定位比較復雜。
  • 效率比

    • 四層模型基于更底層的設置,通常效率更高,但應用范圍有限
    • 七層模型需要更多的資源損耗,在理論上講比四層模型有更強的功能,現(xiàn)在的實現(xiàn)更多是基于http應用。

6算法與實現(xiàn)

常用的負載均衡算法分為以下兩類:

  • 靜態(tài)負載均衡
  • 動態(tài)負載均衡
常見的靜態(tài)均衡算法:輪詢法、隨機法、源地址哈希法、一致性哈希法、加權(quán)輪詢法、加權(quán)隨機法。

常見的動態(tài)負載均衡算法:最小連接數(shù)法、最快響應速度法。

隨機法(Random)

將請求隨機分配到各個節(jié)點。由概率統(tǒng)計理論得知,隨著客戶端調(diào)用服務端的次數(shù)增多,其實際效果越來越接近于平均分配,也就是輪詢的結(jié)果。

隨機策略會導致配置較低的機器Down機,從而可能引起雪崩,一般采用隨機算法時建議后端集群機器配置最好同等的,隨機策略的性能取決于隨機算法的性能。

  • 優(yōu)點:簡單高效,易于水平擴展,每個節(jié)點滿足字面意義上的均衡;
  • 缺點:沒有考慮機器的性能問題,根據(jù)木桶最短木板理論,集群性能瓶頸更多的會受性能差的服務器影響。
隨機法
實現(xiàn):

std::string?Select(const?std::vector?
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉