在一個廣泛的計算系統(tǒng)中,單個服務(wù)器不能總是處理網(wǎng)絡(luò)流量的負(fù)載或需求。這就是負(fù)載平衡發(fā)揮作用的地方。負(fù)載平衡通過將網(wǎng)絡(luò)或應(yīng)用程序流量分布在一組服務(wù)器上來確保網(wǎng)絡(luò)平穩(wěn)運(yùn)行。負(fù)載平衡器通常存在于客戶端設(shè)備和后端服務(wù)器之間,并將傳入的請求分發(fā)到能夠處理請求的可用服務(wù)器。

負(fù)載均衡器如何工作?
負(fù)載均衡器可以是:
- 在硬件或軟件進(jìn)程上運(yùn)行的物理設(shè)備或虛擬化實(shí)例
- 并入應(yīng)用程序交付控制器 (ADC)
- 能夠使用負(fù)載均衡算法
負(fù)載均衡器通過以下方式工作:
- 將流量分配到資源池中的不同 Web 服務(wù)器
- 確保沒有單個服務(wù)器在請求溢出時過度工作并隨后變得不可靠
- 跨服務(wù)器傳播網(wǎng)絡(luò)流量(通常稱為服務(wù)器場或服務(wù)器池)
- 最小化服務(wù)器響應(yīng)時間
- 最大化吞吐量
- 在給定時刻將請求路由到正確的位置
- 防止瓶頸和事件
- 通過提供性能和必要的安全性來維持復(fù)雜的 IT 環(huán)境
什么是負(fù)載均衡——L4、L7 和 GSLB 負(fù)載均衡器
服務(wù)器資源必須易于使用并在開放系統(tǒng)互連 (OSI) 架構(gòu)的第 4 層和/或第 7 層進(jìn)行負(fù)載平衡,以鼓勵提高一致性并跟上不斷變化的用戶需求。
第 4 層 (L4) 的負(fù)載平衡器在傳輸級別運(yùn)行。這意味著他們可以根據(jù)他們使用的 TCP 或 UDP 端口以及源和目標(biāo) IP 地址來決定如何路由數(shù)據(jù)包。網(wǎng)絡(luò)地址轉(zhuǎn)換 (NAT) 由 L4 負(fù)載平衡器執(zhí)行,但它們不會檢查每個數(shù)據(jù)包內(nèi)的數(shù)據(jù)。
OSI 模型中的最高級別,第 7 層 (L7) 負(fù)載平衡器在應(yīng)用程序級別運(yùn)行。在確定如何在服務(wù)器場的服務(wù)器之間分發(fā)請求時,他們可以訪問比 L4 對應(yīng)方更多種類的數(shù)據(jù),例如 HTTP 標(biāo)頭和 SSL 會話 ID。
與 L4 相比,L7 的負(fù)載平衡需要更多的工作,但它也可以更有效,因?yàn)?L7 服務(wù)器有更多的上下文來理解和執(zhí)行客戶端請求。全局服務(wù)器負(fù)載平衡 (GSLB),除了基本的 L4 和 L7 負(fù)載平衡之外,還可以擴(kuò)展任何類型跨眾多數(shù)據(jù)中心的能力,以有效地分配大量流量,而不會降低最終用戶服務(wù)。

基于功能的負(fù)載均衡器類型
負(fù)載均衡器通常分為三種類型:網(wǎng)絡(luò)負(fù)載均衡器、HTTP(S) 負(fù)載均衡器和經(jīng)典負(fù)載均衡器。
1. 網(wǎng)絡(luò)負(fù)載均衡器
網(wǎng)絡(luò)負(fù)載平衡器 (NLB),也稱為第四層負(fù)載平衡,利用傳輸層來決定哪個服務(wù)器接收來自客戶端的傳入請求。當(dāng) NLB 收到客戶端連接請求時,它使用流散列路由算法從池中選擇目標(biāo)服務(wù)器,該算法使用 IP 地址和端口號來確定合適的服務(wù)器。
然后,NLB 在流哈希算法指定的端口上打開到目標(biāo)服務(wù)器的傳輸控制協(xié)議 (TCP) 連接。在此過程中,連接請求在不修改其標(biāo)頭的情況下被傳輸。與其他負(fù)載平衡器相比,NLB 速度更快。但是,它們在不同服務(wù)器之間分配流量時速度很慢。
2. HTTP(S) 負(fù)載均衡器
HTTP(S) 負(fù)載平衡器 (HLB),也稱為第 7 層負(fù)載平衡器,根據(jù) HTTP/HTTPS 標(biāo)頭做出路由決策。HLB 還可以跟蹤客戶端和服務(wù)器之間的響應(yīng),從而提供有關(guān)特定服務(wù)器相對于處理的繁忙或空閑程度的信息。與推測性的 NLB 不同,HLB 是數(shù)據(jù)驅(qū)動的,并且在路由決策方面非常靈活。
3.經(jīng)典負(fù)載均衡器
經(jīng)典負(fù)載均衡器 (CLB) 在??第 4 層和第 7 層運(yùn)行。為了無縫運(yùn)行,CLB 需要端口之間的固定關(guān)系。例如,您可以將負(fù)載均衡器端口 80 映射到容器實(shí)例端口 3030。但是,您不能將負(fù)載均衡器 80 映射到一個實(shí)例上的端口 3030 和另一個實(shí)例上的端口 4040。
基于配置的負(fù)載均衡器類型
除了上述分類之外,您還可以將負(fù)載均衡器分組為硬件、軟件或虛擬負(fù)載均衡器

硬件負(fù)載平衡器
硬件負(fù)載平衡器依靠物理的本地硬件在客戶端和服務(wù)器之間路由流量。它們具有以下屬性:
- 他們需要高性能的設(shè)備
- 他們可以處理來自不同類型應(yīng)用程序的多個千兆流量
- 他們具有虛擬化能力
- 虛擬負(fù)載平衡器實(shí)例出現(xiàn)在同一硬件中
- 它們具有靈活的多租戶架構(gòu)和租戶的完全隔離
軟件負(fù)載平衡器 (SLB)
SLB 是您安裝用作負(fù)載平衡器的商業(yè)或開源軟件。軟件負(fù)載均衡器具有以下特點(diǎn):
- 它們可以替代負(fù)載平衡硬件,以更高的靈活性提供類似的功能
- 它們運(yùn)行在通用的管理程序上,在裸機(jī)服務(wù)器上的開銷最小
- 根據(jù)用例,它們是高度可配置的
- 它們節(jié)省空間并減少硬件支出
虛擬負(fù)載平衡器 (VLB)
另一方面,VLB 通過在虛擬機(jī) (VM) 上運(yùn)行負(fù)載平衡軟件來提供軟件負(fù)載平衡功能。您可以使用 VLB 來提供短期負(fù)載平衡功能。然而,VLB 無法解決固有的硬件挑戰(zhàn),例如有限的可擴(kuò)展性和自動化。此外,數(shù)據(jù)中心缺乏集中管理會阻礙 VLB 的潛力。
什么是負(fù)載平衡 – 硬件與基于軟件的負(fù)載平衡器
負(fù)載平衡器可以是基于硬件的,也可以是基于軟件的。基于硬件的負(fù)載平衡器(也稱為硬件負(fù)載平衡設(shè)備 (HLD))需要具有專用固件的專有機(jī)架和堆棧設(shè)備。

但是,HLD 是從專用集成控制器 (ASIC) 構(gòu)建的,用于在客戶端和服務(wù)器之間分配流量。另一方面,基于軟件的負(fù)載均衡器作為應(yīng)用程序交付控制器 (ADC) 在標(biāo)準(zhǔn) x86 服務(wù)器或虛擬機(jī) (VM) 上運(yùn)行。
HLD 使用專門的 ASIC 構(gòu)建,管理客戶端和服務(wù)器之間的流量,對處理器的影響最小。在高峰時段,組織必須提供足夠的 HLD 以滿足不斷增長的需求。然而,這樣的規(guī)定可能意味著大多數(shù) HLD 可能會在淡季閑置。
相比之下,基于軟件的負(fù)載均衡器在集群虛擬機(jī)上運(yùn)行它們的服務(wù)。典型的基于軟件的負(fù)載平衡器通常指定一個主集群服務(wù)器來將客戶端工作負(fù)載分配給其他輔助服務(wù)器。這有助于在一臺服務(wù)器出現(xiàn)故障時最大限度地減少停機(jī)時間。在這方面,基于軟件的負(fù)載均衡器可以彈性擴(kuò)展以滿足比其 HLD 對應(yīng)物不斷增長的需求。
常見的負(fù)載均衡算法
負(fù)載平衡算法根據(jù)兩個因素選擇哪個后端服務(wù)器處理客戶端流量:服務(wù)器的健康狀況和預(yù)定義規(guī)則。負(fù)載平衡算法首先確定哪個服務(wù)器池可以正確響應(yīng)客戶端的請求。接下來,它使用預(yù)先配置的規(guī)則在池中選擇合適的服務(wù)器來處理流量。
典型的負(fù)載均衡算法包括:
循環(huán)賽
負(fù)載平衡器按順序?yàn)榉?wù)器提供請求。將請求傳輸?shù)阶詈笠粋€服務(wù)器后,該過程從第一個服務(wù)器重新啟動。有兩類循環(huán)算法:加權(quán)循環(huán)和動態(tài)循環(huán)。加權(quán)循環(huán)算法根據(jù)服務(wù)器的效率和結(jié)構(gòu)為服務(wù)器分配單獨(dú)的權(quán)重。加權(quán)循環(huán)法在您擁有不同服務(wù)器池的情況下很有用。相比之下,動態(tài)循環(huán)算法實(shí)時計算服務(wù)器的權(quán)重,以確定將請求轉(zhuǎn)發(fā)到哪個服務(wù)器。
最少連接法
顧名思義,最少連接數(shù)算法會選擇連接數(shù)最少的服務(wù)器。它適用于客戶端工作負(fù)載導(dǎo)致較長會話的情況。
最短響應(yīng)時間法
負(fù)載平衡器選擇具有最少活動連接和最短響應(yīng)時間的服務(wù)器。此方法適用于客戶端要求服務(wù)器迅速響應(yīng)的情況。

最小帶寬法
負(fù)載平衡器計算將客戶端工作負(fù)載發(fā)送到各種服務(wù)器所需的帶寬(以 Mbps 為單位)。然后它將請求發(fā)送到消耗最小帶寬的服務(wù)器。
散列法
負(fù)載平衡器根據(jù)客戶端的數(shù)據(jù)包計算哈希值。哈希值決定了服務(wù)器轉(zhuǎn)發(fā)客戶端的工作量。換句話說,工作負(fù)載的 IP 地址決定了接收請求的服務(wù)器。
自定義加載方式
負(fù)載平衡器使用簡單網(wǎng)絡(luò)管理協(xié)議 (SNMP) 查詢各個服務(wù)器的負(fù)載,例如 CPU 和內(nèi)存消耗。然后它根據(jù)服務(wù)器的工作負(fù)載將傳入的請求轉(zhuǎn)發(fā)到服務(wù)器。
基于資源的方法
負(fù)載平衡器根據(jù)現(xiàn)有會話、CPU 和內(nèi)存消耗以及計數(shù)器來確定哪些服務(wù)器處于空閑狀態(tài)。然后它將客戶端工作負(fù)載分配給消耗最少資源的服務(wù)器。
什么是負(fù)載平衡——好處
除了控制網(wǎng)絡(luò)流量外,負(fù)載均衡還有其他功能。軟件負(fù)載平衡器提供的預(yù)測分析功能有助于在流量瓶頸發(fā)生之前識別它們。結(jié)果,軟件負(fù)載平衡器為組織提供了有用的信息。這些對于自動化至關(guān)重要,并且會影響公司的選擇。
簡而言之,負(fù)載平衡有助于:
- 減少停機(jī)時間
- 冗余
- 效率
- 可擴(kuò)展性
- 靈活性
并行 RAS 如何幫助負(fù)載平衡?
RAS使您能夠?qū)V泛的 IT 基礎(chǔ)架構(gòu)進(jìn)行負(fù)載平衡,而無需復(fù)雜的配置或昂貴的附加組件。它平衡了 RDSH 服務(wù)器和內(nèi)部組件。Parallels RAS 提供高可用性負(fù)載平衡 (HALB),減少停機(jī)和中斷的可能性。HALB 通過基于資源的分配(用戶會話、內(nèi)存和 CPU)在遠(yuǎn)程桌面服務(wù)器和網(wǎng)關(guān)之間分配數(shù)據(jù)流量。還支持第三方負(fù)載均衡器,例如 AWS 彈性負(fù)載均衡器 (ELB) 和 Azure 負(fù)載均衡器。

管理員還可以為隔離訪問配置多個 HALB 虛擬服務(wù)器。例如,當(dāng)使用不同的安全客戶端網(wǎng)關(guān)進(jìn)行內(nèi)部和外部訪問或不同的分支機(jī)構(gòu)時。
各種 HALB 配置設(shè)置啟用高級管理,包括:
- 連接設(shè)置(每秒連接數(shù)、最大連接數(shù))
- 超時設(shè)置(網(wǎng)關(guān)連接、客戶端隊列和不活動)
- 虛擬路由器冗余協(xié)議 (VRRP) 設(shè)置
組織可以增強(qiáng)其原有的負(fù)載平衡基礎(chǔ)設(shè)施并提供增強(qiáng)的用戶體驗(yàn),尤其是在廣域網(wǎng) (WAN) 場景中。






