常用負載均衡技術有哪些?不同網絡層面上的網絡負載均衡技術

前言

負載均衡是一種策略,它能讓多臺服務器或多條鏈路共同承擔一些繁重的計算或I/O任務,從而以較低成本消除網絡瓶頸,提高網絡的靈活性和可靠性。

在系統管理員發現網絡性能不好時,可以通過網絡負載均衡來分配資源,以實現資源的優化。

網絡的發展給人們的生活帶來了無窮的樂趣,給人們的工作帶來了無窮的便利。但是,網絡的迅猛發展,也使得人們對網絡產生了非常大的依賴性。

如今,我們對網絡上的應用開發層出不窮,以至網絡上的業務流量突飛猛進。即使當初網絡建設得再超前,配置再合理,資源再優化,卻仍然會感到“網絡建設總是趕不上應用需求的步伐”。尤其是針對那些網絡的核心層,其數據流量和計算強度之大,使得單一的設備根本無法承擔起重任。

多設備“勞苦不均”

在現有網絡基礎上,適量增加一些設備,改單一設備承載為多設備分擔,無疑是一種選擇。但是,如何在實現同樣功能的多個網絡設備之間,實現一種合理的業務量的分配就成了多設備下有可能出現設備“勞苦不均”的問題。為此,借助于網絡來協調每臺設備“工作強度”的負載均衡機制就應運而生了。

用一種比較專業的語言來描述,負載均衡即為建立在現有網絡結構之上,提供了一種廉價有效的方法。來擴展服務器帶寬和增加吞吐量,以加強網絡數據處理能力,提高網絡的靈活性和可用性。

負載均衡的主要職責是為解決網絡擁塞問題就近提供服務,實現過程與地理位置無關;為用戶提供更好的訪問質量,提高服務器響應速度、服務器及其它資源的利用效率,從而避免網絡的關鍵部位出現單點失效的現象。

“切入”不同層面

對于一個網絡的負載均衡的應用,一般情況下,可以從網絡的不同層面“切入”。但是,到底應該從哪個層面入手,這要根據網絡瓶頸所處的具體位置而具體分析。

不過,在一般情況下,普遍都是通過傳輸鏈路聚合技術、借助更高層網絡交換技術和設置服務器集群策略等幾個角度來實現。

傳輸鏈路聚合技術

為了滿足高帶寬的應用,越來越多的PC機都在使用更加快速的鏈路連入網絡。一般情況下,網絡中業務量的分布是很難平衡的,往往會出現“核心高、邊緣低,關鍵部門高、一般部門低”的現象。

伴隨計算機處理能力的大幅度提高,人們對多工作組局域網的處理能力,也相應地有了更高的要求。當企業內部對高帶寬應用需求不斷增大時,局域網核心部位的數據接口將產生瓶頸問題。瓶頸延長了用戶應用請求的響應時間,并且局域網具有分散特性,網絡本身并沒有針對服務器的保護措施,一個無意的“動作”就會讓服務器與網絡斷開。

在通常情況下,解決瓶頸問題,采用的對策大多是通過提高服務器鏈路的容量,來超出目前的需求。對于一些大型企業來說,采用升級技術是一種長遠的、有前景的解決瓶頸問題的思路。

然而,對于許多企業而言,當需求還沒有大到非要投入大量的金錢和時間進行升級時,使用升級技術就顯得“不夠經濟”了。在這種情況下,鏈路聚合技術為消除傳輸鏈路上的瓶頸與不安全因素,提供了成本低廉的解決方案。

鏈路聚合系統增加了網絡的復雜性,但是也提高了網絡的可靠性,使人們可以在服務器等關鍵LAN段的線路上采用冗余路由。

對于IP系統,可以考慮采用VRRP(虛擬路由冗余協議)。VRRP可以生成一個虛擬缺省的網關地址,當主路由器無法接通時,備用路由器就會采用這個地址,使LAN通信得以繼續。

高層交換技術

大型網絡一般都是由大量專用技術設備組成的,包括防火墻、路由器、第二/三層交換機、負載均衡設備、緩沖服務器和Web服務器等。如何將這些技術設備有機地組合在一起,是一個直接影響到網絡性能的關鍵性問題。

現在,許多交換機提供第四層交換功能,可以將一個外部IP地址映射為多個內部IP地址,對每次TCP連接請求動態,使用其中一個內部地址,達到負載均衡的目的。有的協議內部支持與負載均衡相關的功能,例如HTTP協議中的重定向能力。

均衡策略的服務器群集

一臺普通服務器的處理能力只能達到每秒幾萬個到幾十萬個請求,無法在一秒鐘內處理上百萬個甚至更多的請求。但若能將10臺這樣的服務器組成一個系統,并通過軟件技術將所有請求平均分配給所有服務器,那么這個系統就完全擁有每秒鐘處理幾百萬個甚至更多請求的能力。這就是利用服務器群集實現負載均衡的最初基本設計思想。

新的解決方案是通過LSANT(Load Sharing Network Address Transfer)將多臺服務器網卡的不同IP地址翻譯成一個VIP(Virtual IP)地址,使得每臺服務器永遠處于工作狀態。原來需要用小型機來完成的工作改由多臺PC服務器完成,這種彈性解決方案對投資保護的作用是相當明顯的。既避免了小型機剛性升級所帶來的巨大設備投資,又避免了人員培訓的重復投資。同時,服務運營商可以依據業務的需要隨時調整服務器的數量。

網絡性能的“依靠”

負載均衡技術的發展,是隨著市場的不斷需求而發展。它們的功能也從簡單逐漸變得更加復雜和強大。總結起來,它的產品和方案經歷了幾代的發展和演繹。

第一代負載均衡產品是簡單的Round-robin DNS機器。它能夠把HTTP進程在幾個IP主機里進行分配。這類系統使用了簡單的PING命令,以保證進程請求不會被送到一個狀態不理想的服務器內,并為多服務器引入了一個變量來顯示容錯率。

第二代負載均衡產品不僅承擔著檢查服務器是否運行的任務,同時它還要檢查服務器的性能狀態。也就是說,如果一臺服務器負載過重,發進來的請求就會被轉發到其它機器上,以保證負載在所有能夠獲得的資源里均衡分配。

第三代負載均衡產品覆蓋了整個內容分發系統。隨著Web和網絡服務變得越來越成熟,僅監視Web服務器的某一層面是不夠的,而是一個可以保證整個內容分發系統順利運行的負載均衡產品。

網絡負載均衡的四大優點

1、網絡負載均衡允許用戶將傳入的請求傳播到最多達32臺的服務器上,即可以使用最多32臺服務器共同分擔對外的網絡請求服務。網絡負載均衡技術保證即使是在負載很重的情況下它們也能做出快速響應。

2、網絡負載均衡對外只須提供一個IP地址(或域名)。

3、如果網絡負載均衡中的一臺或幾臺服務器不可用時,服務不會中斷。網絡負載均衡自動檢測到服務器不可用時,能夠迅速在剩余的服務器中重新指派客戶機通訊。此保護措施能夠幫助為關鍵業務程序提供不中斷的服務。同時,可以根據網絡訪問量的增多,來增加網絡負載均衡服務器的數量。

4、網絡負載均衡可在普通的計算機上實現。

感謝您的閱讀,服務器大本營-技術文章內容集合站,助您成為更專業的服務器管理員!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80046.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80046.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80046.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ARMV8 RK3399 u-boot TPL啟動流程分析 --crt0.S

上一篇介紹到start.S 最后一個指令是跳轉到_main, 接下來分析 __main 都做了什么 arch/arm/lib/crt0.S __main 注釋寫的很詳細,主要分為5步 1. 準備board_init_f的運行環境 2. 跳轉到board_init_f 3. 設置broad_init_f 申請的stack 和 GD 4. 完整u-boot 執行re…

RabbitMQ--進階篇

RabbitMQ 客戶端整合Spring Boot 添加相關的依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 編寫配置文件&#xff0c;配置RabbitMQ的服務信息 spri…

Redis--基礎知識點--27--redis緩存分類樹

在 Redis 中存儲分類樹&#xff0c;通常需要選擇合適的數據結構來表現層級關系。以下是使用 字符串&#xff08;String&#xff09; 和 哈希&#xff08;Hash&#xff09; 兩種常見方案的舉例說明&#xff0c;結合電商分類場景&#xff08;如 電子產品 > 手機 > 智能手機…

【C++】匯編角度分析棧攻擊

棧攻擊 介紹原理示例代碼匯編分析 介紹原理 核心原理是通過 緩沖區溢出&#xff08;Buffer Overflow&#xff09; 等漏洞&#xff0c;覆蓋棧上的關鍵數據&#xff08;如返回地址、函數指針&#xff09;&#xff0c;從而改變程序執行流程&#xff1b; 在 C 中&#xff0c;每個…

訪問 Docker 官方鏡像源(包括代理)全部被“重置連接”或超時

華為云輕量應用服務器&#xff08;Ubuntu 系統&#xff09; 遇到的問題是&#xff1a; &#x1f512; 訪問 Docker 官方鏡像源&#xff08;包括代理&#xff09;全部被“重置連接”或超時了&#xff0c;說明你這臺服務器的出境網絡對這些國外域名限制很嚴格&#xff0c;常見于華…

Java語言

本文來源 &#xff1a; 騰訊元寶 Java是一種面向對象、跨平臺的高級編程語言&#xff0c;最初由Sun Microsystems&#xff08;現為Oracle公司所有&#xff09;于1995年推出&#xff0c;廣泛應用于Web開發、移動應用、大數據處理、嵌入式系統等領域。以下是其核心特點和應用概述…

無償幫寫畢業論文(看不懂的可以私信博主)

以下教程教你如何利用相關網站和AI免費幫你寫一個畢業論文。畢竟畢業論文只要過就行&#xff0c;脫產學習這么多年&#xff0c;終于熬出頭了&#xff0c;完成畢設后有空就去多看看親人好友&#xff0c;祝好&#xff01; 一、找一個論文模板 廢話不多說&#xff0c;先上干貨Ov…

python打卡day26

函數、參數、變量 知識點回顧&#xff1a; 函數的定義變量作用域&#xff1a;局部變量和全局變量函數的參數類型&#xff1a;位置參數、默認參數、不定參數傳遞參數的手段&#xff1a;關鍵詞參數傳遞參數的順序&#xff1a;同時出現三種參數類型時 def function_name(parameter…

LeetCode 熱題 100 437. 路徑總和 III

LeetCode 熱題 100 | 437. 路徑總和 III 大家好&#xff0c;今天我們來解決一道經典的二叉樹問題——路徑總和 III。這道題在 LeetCode 上被標記為中等難度&#xff0c;要求計算二叉樹中節點值之和等于給定目標值 targetSum 的路徑數目。 問題描述 給定一個二叉樹的根節點 ro…

vue3學習-局部使用vue框架案例

目錄 局部使用vue框架步驟 簡單案例1 簡單案例2【 結構化賦值語法】 簡單案例3【使用模塊化開發模式】 基本數據的簡單應用&#xff0c;對象的簡單應用 數組的簡單應用 局部使用vue框架步驟 1 引用 vue框架的核心文件和 涉及ES6語法的文件 注意&#xff1a;這里文件&am…

初識Linux · IP分片

目錄 前言&#xff1a; IP分片 分片vs不分片 如何分片 分片舉例 三個字段 前言&#xff1a; 前文IP協議上和IP協議下我們已經把IP協議的報頭的大多數字段介紹了&#xff0c;唯獨有三個字段現在還有介紹&#xff0c;即16位標識&#xff0c;8位協議&#xff0c;13位片偏移…

u3d 定義列表詳細過程

層級結構 - Canvas - Scroll View - Viewport - Content (Vertical Layout Group) - Item1 (Prefab) - Item2 (Prefab) ... 詳細設置步驟 1. 創建 Canvas 2. 添加 Scroll View 組件 3. 在 Scroll View 下創建 Content 子對象 4. 添加 …

產品方法論與 AI Agent 技術的深度融合:從決策智能到價值創造

一、引言&#xff1a;智能化時代的產品范式革命 在數字化轉型的深水區&#xff0c;產品開發正經歷著從 “功能定義” 到 “體驗設計” 再到 “智能演化” 的范式躍遷。麥肯錫 2024 年報告指出&#xff0c;采用 AI 驅動產品方法論的企業&#xff0c;新品研發周期平均縮短 40%&a…

力扣.1471數組的k個最強值,力扣.1471數組的k個最強值力扣1576.替換所有的問號力扣1419.數青蛙?編輯力扣300.最長遞增子序列

目錄 力扣.1471數組的k個最強值 力扣1576.替換所有的問號 力扣1419.數青蛙?編輯 力扣300.最長遞增子序列 力扣.1471數組的k個最強值 class Solution {public static int[] getStrongest(int[] arr,int k) {if(karr.length){return arr;}int []retnew int[k];int narr.lengt…

使用docker安裝clickhouse集群

1、簡介 clickhouse 作為大數據場景中&#xff0c;實現快速檢索的常用列式存儲數據庫&#xff0c;采用物理機部署&#xff0c;會在數據量大的場景中&#xff0c;物理機器存儲達到閾值需要擴容&#xff0c;會帶來比較大的問題&#xff0c;因此&#xff0c;使用docker部署clickho…

package-lock.json能否直接刪除?

package-lock.json能否直接刪除&#xff1f; package-lock.json 生成工具&#xff1a;由 npm 自動生成。 觸發條件&#xff1a;當運行 npm install 時&#xff0c;如果不存在 package-lock.json&#xff0c;npm 會創建它&#xff1b;如果已存在&#xff0c;npm 會根據它精確安…

如何在 Windows 命令提示符中創建多個文件夾和多個文件

如何在 Windows 命令提示符中創建多個文件夾和多個文件 雖然大多數用戶習慣使用 Windows 圖形界面來創建文件夾&#xff0c;但如果你需要一次性創建多個文件夾或文件&#xff0c;如同在類Unix系統中可以使用mkdir和touch命令一樣&#xff0c;windows下也有創建目錄和文件的對應…

leetcode - 滑動窗口問題集

目錄 前言 題1 長度最小的子數組&#xff1a; 思考&#xff1a; 參考代碼1&#xff1a; 參考代碼2&#xff1a; 題2 無重復字符的最長子串&#xff1a; 思考&#xff1a; 參考代碼1&#xff1a; 參考代碼2&#xff1a; 題3 最大連續1的個數 III&#xff1a; 思考&am…

Ubuntu20.04下如何源碼編譯Carla,使用UE4源碼開跑,踩坑集合

一、簡介 作為一個從事算法研究的人員,無人駕駛仿真一直是比較重要的一部分,但是現在比較常見的算法驗證都是在carla這個開源仿真平臺上做的,所以我有二次開發carla的需求,今天就來講講編譯CARLA。 網上的教材很多,但還是推薦大家看官網教程:Linux build - CARLA Simul…

Linux云計算訓練營筆記day09(MySQL數據庫)

Linux云計算訓練營筆記day09&#xff08;MySQL數據庫&#xff09; 目錄 Linux云計算訓練營筆記day09&#xff08;MySQL數據庫&#xff09;外鍵約束數據的導入和導出數據的導出數據的導入 DQL 數據查詢語言查指定字段查所有字段where 過濾條件and 和 orin 和 not inbetween...an…