www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > 架構(gòu)師社區(qū)
[導讀]大型網(wǎng)站都要面對龐大的用戶量,高并發(fā),海量數(shù)據(jù)等挑戰(zhàn)。為了提升系統(tǒng)整體的性能,可以采用垂直擴展和水平擴展兩種方式。

作者:vivo互聯(lián)網(wǎng)團隊-Zhang Peng
一、負載均衡簡介
1.1. 大型網(wǎng)站面臨的挑戰(zhàn)
大型網(wǎng)站都要面對龐大的用戶量,高并發(fā),海量數(shù)據(jù)等挑戰(zhàn)。為了提升系統(tǒng)整體的性能,可以采用垂直擴展和水平擴展兩種方式。
垂直擴展:在網(wǎng)站發(fā)展早期,可以從單機的角度通過增加硬件處理能力,比如 CPU 處理能力,內(nèi)存容量,磁盤等方面,實現(xiàn)服務器處理能力的提升。但是,單機是有性能瓶頸的,一旦觸及瓶頸,再想提升,付出的成本和代價會極高。這顯然不能滿足大型分布式系統(tǒng)(網(wǎng)站)所有應對的大流量,高并發(fā),海量數(shù)據(jù)等挑戰(zhàn)。
水平擴展:通過集群來分擔大型網(wǎng)站的流量。集群中的應用服務器(節(jié)點)通常被設計成無狀態(tài),用戶可以請求任何一個節(jié)點,這些節(jié)點共同分擔訪問壓力。水平擴展有兩個要點:
  • 應用集群:將同一應用部署到多臺機器上,組成處理集群,接收負載均衡設備分發(fā)的請求,進行處理,并返回相應數(shù)據(jù)。
  • 負載均衡:將用戶訪問請求,通過某種算法,分發(fā)到集群中的節(jié)點。
1.2. 什么是負載均衡
負載均衡(Load Balance,簡稱 LB)是高并發(fā)、高可用系統(tǒng)必不可少的關(guān)鍵組件,目標是 盡力將網(wǎng)絡流量平均分發(fā)到多個服務器上,以提高系統(tǒng)整體的響應速度和可用性。
負載均衡的主要作用如下:
高并發(fā):負載均衡通過算法調(diào)整負載,盡力均勻的分配應用集群中各節(jié)點的工作量,以此提高應用集群的并發(fā)處理能力(吞吐量)。
伸縮性:添加或減少服務器數(shù)量,然后由負載均衡進行分發(fā)控制。這使得應用集群具備伸縮性。
高可用:負載均衡器可以監(jiān)控候選服務器,當服務器不可用時,自動跳過,將請求分發(fā)給可用的服務器。這使得應用集群具備高可用的特性。
安全防護:有些負載均衡軟件或硬件提供了安全性功能,如:黑白名單處理、防火墻,防 DDos 攻擊等。
二、負載均衡的分類

支持負載均衡的技術(shù)很多,我們可以通過不同維度去進行分類。
2.1 載體維度分類
從支持負載均衡的載體來看,可以將負載均衡分為兩類:硬件負載均衡、軟件負載均衡
2.1.1硬件負載均衡
硬件負載均衡,一般是在定制處理器上運行的獨立負載均衡服務器,價格昂貴,土豪專屬。硬件負載均衡的主流產(chǎn)品有:F5 和 A10。
硬件負載均衡的 優(yōu)點:

  • 功能強大:支持全局負載均衡并提供較全面的、復雜的負載均衡算法。
  • 性能強悍:硬件負載均衡由于是在專用處理器上運行,因此吞吐量大,可支持單機百萬以上的并發(fā)。
  • 安全性高:往往具備防火墻,防 DDos 攻擊等安全功能。

硬件負載均衡的 缺點:
  • 成本昂貴:購買和維護硬件負載均衡的成本都很高。
  • 擴展性差:當訪問量突增時,超過限度不能動態(tài)擴容。
2.1.2 軟件負載均衡
軟件負載均衡,應用最廣泛,無論大公司還是小公司都會使用。軟件負載均衡從軟件層面實現(xiàn)負載均衡,一般可以在任何標準物理設備上運行。
軟件負載均衡的 主流產(chǎn)品 有:Nginx、HAProxy、LVS。
  • LVS 可以作為四層負載均衡器。其負載均衡的性能要優(yōu)于 Nginx。
  • HAProxy 可以作為 HTTP 和 TCP 負載均衡器。
  • Nginx、HAProxy 可以作為四層或七層負載均衡器。
軟件負載均衡的 優(yōu)點:
  • 擴展性好:適應動態(tài)變化,可以通過添加軟件負載均衡實例,動態(tài)擴展到超出初始容量的能力。
  • 成本低廉:軟件負載均衡可以在任何標準物理設備上運行,降低了購買和運維的成本。
軟件負載均衡的 缺點:
  • 性能略差:相比于硬件負載均衡,軟件負載均衡的性能要略低一些。
2.2 網(wǎng)絡通信分類
軟件負載均衡從通信層面來看,又可以分為四層和七層負載均衡。
1) 七層負載均衡:就是可以根據(jù)訪問用戶的 HTTP 請求頭、URL 信息將請求轉(zhuǎn)發(fā)到特定的主機。
  • DNS 重定向
  • HTTP 重定向
  • 反向代理
2) 四層負載均衡:基于 IP 地址和端口進行請求的轉(zhuǎn)發(fā)。
  • 修改 IP 地址
  • 修改 MAC 地址
2.2.1 DNS 負載均衡
DNS 負載均衡一般用于互聯(lián)網(wǎng)公司,復雜的業(yè)務系統(tǒng)不適合使用。大型網(wǎng)站一般使用 DNS 負載均衡作為 第一級負載均衡手段,然后在內(nèi)部使用其它方式做第二級負載均衡。DNS 負載均衡屬于七層負載均衡。
DNS 即 域名解析服務,是 OSI 第七層網(wǎng)絡協(xié)議。DNS 被設計為一個樹形結(jié)構(gòu)的分布式應用,自上而下依次為:根域名服務器,一級域名服務器,二級域名服務器,... ,本地域名服務器。顯然,如果所有數(shù)據(jù)都存儲在根域名服務器,那么 DNS 查詢的負載和開銷會非常龐大。
因此,DNS 查詢相對于 DNS 層級結(jié)構(gòu),是一個逆向的遞歸流程,DNS 客戶端依次請求本地 DNS 服務器,上一級 DNS 服務器,上上一級 DNS 服務器,... ,根 DNS 服務器(又叫權(quán)威 DNS 服務器),一旦命中,立即返回。為了減少查詢次數(shù),每一級 DNS 服務器都會設置 DNS 查詢緩存。
DNS 負載均衡的工作原理就是:基于 DNS 查詢緩存,按照負載情況返回不同服務器的 IP 地址。
深入淺出負載均衡
DNS 重定向的 優(yōu)點:
使用簡單:負載均衡工作,交給 DNS 服務器處理,省掉了負載均衡服務器維護的麻煩
提高性能:可以支持基于地址的域名解析,解析成距離用戶最近的服務器地址(類似 CDN 的原理),可以加快訪問速度,改善性能;
DNS 重定向的 缺點:
可用性差:DNS 解析是多級解析,新增/修改 DNS 后,解析時間較長;解析過程中,用戶訪問網(wǎng)站將失敗;
擴展性低:DNS 負載均衡的控制權(quán)在域名商那里,無法對其做更多的改善和擴展;
維護性差:也不能反映服務器的當前運行狀態(tài);支持的算法少;不能區(qū)分服務器的差異(不能根據(jù)系統(tǒng)與服務的狀態(tài)來判斷負載)。
2.2.2 HTTP 負載均衡
HTTP 負載均衡是基于 HTTP 重定向?qū)崿F(xiàn)的。HTTP 負載均衡屬于七層負載均衡。
HTTP 重定向原理是:根據(jù)用戶的 HTTP 請求計算出一個真實的服務器地址,將該服務器地址寫入 HTTP 重定向響應中,返回給瀏覽器,由瀏覽器重新進行訪問。
深入淺出負載均衡
HTTP 重定向的優(yōu)點:方案簡單。
HTTP 重定向的 缺點:
性能較差:每次訪問需要兩次請求服務器,增加了訪問的延遲。
降低搜索排名:使用重定向后,搜索引擎會視為 SEO 作弊。
如果負載均衡器宕機,就無法訪問該站點。
由于其缺點比較明顯,所以這種負載均衡策略實際應用較少。
2.2.3 反向代理負載均衡
反向代理(Reverse Proxy)方式是指以 代理服務器 來接受網(wǎng)絡請求,然后 將請求轉(zhuǎn)發(fā)給內(nèi)網(wǎng)中的服務器,并將從內(nèi)網(wǎng)中的服務器上得到的結(jié)果返回給網(wǎng)絡請求的客戶端。反向代理負載均衡屬于七層負載均衡。
反向代理服務的主流產(chǎn)品:Nginx、Apache。
正向代理與反向代理有什么區(qū)別?
正向代理:發(fā)生在 客戶端,是由用戶主動發(fā)起的。翻墻軟件就是典型的正向代理,客戶端通過主動訪問代理服務器,讓代理服務器獲得需要的外網(wǎng)數(shù)據(jù),然后轉(zhuǎn)發(fā)回客戶端。
反向代理:發(fā)生在 服務端,用戶不知道代理的存在。
深入淺出負載均衡
反向代理是如何實現(xiàn)負載均衡的呢?以 Nginx 為例,如下所示:
深入淺出負載均衡
首先,在代理服務器上設定好負載均衡規(guī)則。然后,當收到客戶端請求,反向代理服務器攔截指定的域名或 IP 請求,根據(jù)負載均衡算法,將請求分發(fā)到候選服務器上。其次,如果某臺候選服務器宕機,反向代理服務器會有容錯處理,比如分發(fā)請求失敗 3 次以上,將請求分發(fā)到其他候選服務器上。
反向代理的 優(yōu)點:
1) 多種負載均衡算法:支持多種負載均衡算法,以應對不同的場景需求。
2) 可以監(jiān)控服務器:基于 HTTP 協(xié)議,可以監(jiān)控轉(zhuǎn)發(fā)服務器的狀態(tài),如:系統(tǒng)負載、響應時間、是否可用、連接數(shù)、流量等,從而根據(jù)這些數(shù)據(jù)調(diào)整負載均衡的策略。
反向代理的 缺點:
1) 額外的轉(zhuǎn)發(fā)開銷:反向代理的轉(zhuǎn)發(fā)操作本身是有性能開銷的,可能會包括創(chuàng)建連接,等待連接響應,分析響應結(jié)果等操作。
2) 增加系統(tǒng)復雜度:反向代理常用于做分布式應用的水平擴展,但反向代理服務存在以下問題,為了解決以下問題會給系統(tǒng)整體增加額外的復雜度和運維成本:
  • 反向代理服務如果自身宕機,就無法訪問站點,所以需要有 高可用 方案,常見的方案有:主備模式(一主一備)、雙主模式(互為主備)。

  • 反向代理服務自身也存在性能瓶頸,隨著需要轉(zhuǎn)發(fā)的請求量不斷攀升,需要有 可擴展 方案。
2.2.4 IP負載均衡
IP 負載均衡是在網(wǎng)絡層通過修改請求目的地址進行負載均衡。
深入淺出負載均衡
如上圖所示,IP 均衡處理流程大致為:
客戶端請求 192.168.137.10,由負載均衡服務器接收到報文。
負載均衡服務器根據(jù)算法選出一個服務節(jié)點 192.168.0.1,然后將報文請求地址改為該節(jié)點的 IP。
真實服務節(jié)點收到請求報文,處理后,返回響應數(shù)據(jù)到負載均衡服務器。
負載均衡服務器將響應數(shù)據(jù)的源地址改負載均衡服務器地址,返回給客戶端。
IP 負載均衡在內(nèi)核進程完成數(shù)據(jù)分發(fā),較反向代理負載均衡有更好的從處理性能。但是,由于所有請求響應都要經(jīng)過負載均衡服務器,集群的吞吐量受制于負載均衡服務器的帶寬。
2.2.5 數(shù)據(jù)鏈路層負載均衡
數(shù)據(jù)鏈路層負載均衡是指在通信協(xié)議的數(shù)據(jù)鏈路層修改 mac 地址進行負載均衡。
深入淺出負載均衡
在 Linux 平臺上最好的鏈路層負載均衡開源產(chǎn)品是 LVS (Linux Virtual Server)。LVS 是基于 Linux 內(nèi)核中 netfilter 框架實現(xiàn)的負載均衡系統(tǒng)。netfilter 是內(nèi)核態(tài)的 Linux 防火墻機制,可以在數(shù)據(jù)包流經(jīng)過程中,根據(jù)規(guī)則設置若干個關(guān)卡(hook 函數(shù))來執(zhí)行相關(guān)的操作。
LVS 的工作流程大致如下:
當用戶訪問 www.sina.com.cn 時,用戶數(shù)據(jù)通過層層網(wǎng)絡,最后通過交換機進入 LVS 服務器網(wǎng)卡,并進入內(nèi)核網(wǎng)絡層。
進入 PREROUTING 后經(jīng)過路由查找,確定訪問的目的 VIP 是本機 IP 地址,所以數(shù)據(jù)包進入到 INPUT 鏈上
IPVS 是工作在 INPUT 鏈上,會根據(jù)訪問的 vip port 判斷請求是否 IPVS 服務,如果是則調(diào)用注冊的 IPVS HOOK 函數(shù),進行 IPVS 相關(guān)主流程,強行修改數(shù)據(jù)包的相關(guān)數(shù)據(jù),并將數(shù)據(jù)包發(fā)往 POSTROUTING 鏈上。
POSTROUTING 上收到數(shù)據(jù)包后,根據(jù)目標 IP 地址(后端服務器),通過路由選路,將數(shù)據(jù)包最終發(fā)往后端的服務器上。
開源 LVS 版本有 3 種工作模式,每種模式工作原理截然不同,說各種模式都有自己的優(yōu)缺點,分別適合不同的應用場景,不過最終本質(zhì)的功能都是能實現(xiàn)均衡的流量調(diào)度和良好的擴展性。主要包括三種模式:DR 模式、NAT 模式、Tunnel 模式。
三、負載均衡算法

負載均衡器的實現(xiàn)可以分為兩個部分:

根據(jù)負載均衡算法在候選服務器列表選出一個服務器;
將請求數(shù)據(jù)發(fā)送到該服務器上。
負載均衡算法是負載均衡服務核心中的核心。負載均衡產(chǎn)品多種多樣,但是各種負載均衡算法原理是共性的。負載均衡算法有很多種,分別適用于不同的應用場景,本文僅介紹最為常見的負載均衡算法的特性及原理:輪詢、隨機、最小活躍數(shù)、源地址哈希、一致性哈希。
本站聲明: 本文章由作者或相關(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è)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐ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)閉
關(guān)閉