• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 系統(tǒng)架構(gòu)師知識:負(fù)載均衡

        時間:2024-08-18 18:18:30 系統(tǒng)架構(gòu)師 我要投稿
        • 相關(guān)推薦

        系統(tǒng)架構(gòu)師知識:負(fù)載均衡

          負(fù)載均衡(Load Balance),顧名思義,是把服務(wù)的并發(fā)請求均衡地負(fù)載到后端多個具有相同能力的服務(wù)進(jìn)行處理分擔(dān),以廉價有效透明的方式擴展網(wǎng)絡(luò)設(shè)備或服務(wù)的帶寬,增加吞吐量,增強服務(wù)的整體處理能力,提供服務(wù)的靈活性和可用性。

        系統(tǒng)架構(gòu)師知識:負(fù)載均衡

          1、什么是負(fù)載均衡?

          常見的典型的負(fù)載均衡應(yīng)用場景:

          (1)、web集群:將大量的并發(fā)訪問或數(shù)據(jù)流量分擔(dān)到多臺節(jié)點設(shè)備上分別處理,減少用戶等待響應(yīng)的時間。

          (2)、MapReduce:單個重負(fù)載的運算分擔(dān)到多臺節(jié)點設(shè)備上做并行處理,每個節(jié)點設(shè)備處理結(jié)束后,將結(jié)果匯總,返回給⽤戶,系統(tǒng)處理能⼒得到大幅度提高。

          2、負(fù)載均衡算法

          負(fù)載均衡算法是負(fù)載均衡設(shè)備(包括虛擬設(shè)備或相關(guān)軟件)在執(zhí)行負(fù)載均衡調(diào)度,選擇具體處理的后端服務(wù)的時候使用的調(diào)度和分發(fā)的邏輯。

          負(fù)載均衡的算法只是規(guī)定了調(diào)度和分發(fā)的邏輯,在不同的負(fù)載均衡方案中都可能使用相同和(或)類似的算法,它只是負(fù)載均衡方案的一部分。

          常見的主流負(fù)載均衡算法包括:

          (1)、輪詢算法:Round Robin/Weight Round Robin Scheduling

          輪詢算法通過依次輪叫的方式依次將請求調(diào)度不同的后端服務(wù)器(Real Server)。通常可以分為普通輪詢和加權(quán)輪詢兩種方式。算法的優(yōu)點是簡潔且無狀態(tài)。

          算法簡單表示為:i = ( i + 1 ) mod n

          (2)、Hash算法: 隨機數(shù)Hash,Sources Hashing Scheduling

          Hash算法,又叫取余算法。一般是對請求報文中的某項數(shù)據(jù)(key,一般常用客戶端來源IP)計算Hash值,然后按機器數(shù)量(n)取模。

          算法簡單表示為:idx = Hash(key) % n

          Hash算法中,Key的選擇常用實踐如下:

          a、請求時間或隨機數(shù)

          特點是簡單,具有一定分散性,但不穩(wěn)定,一般用于要求不高的負(fù)載均衡場景。

          b、來源IP

          特點是簡單。如果客戶的分布比較廣,這種方式分散性較好。但如果較多的客戶請求來源于同一IP(公司網(wǎng)絡(luò)通過路由器上網(wǎng)),分散效果較差。

          大多負(fù)載均衡設(shè)備都支持這種算法,著名的nginx和LVS等軟件也支持。

          (3)、一致性Hash算法:Consistency Hash Scheduling

          一致性Hash算法最常用于分布式緩存(如memcached、redis等)的定位,但同時也可以在系統(tǒng)或程序中用于負(fù)載均衡,該算法本來的意義就在于分散負(fù)載和快速定位。

          推薦閱讀:截至目前看過的一致性Hash算法最佳介紹請猛擊這里。

          (4)、最少連接或請求數(shù): (Weight)Least Connection/Request Scheduling

          最小連接調(diào)度是一種動態(tài)調(diào)度算法,它通過服務(wù)器當(dāng)前所活躍的連接數(shù)來估計服務(wù)器的負(fù)載情況。

          算法主要邏輯是,調(diào)度設(shè)備或服務(wù)記錄后端服務(wù)器接受請求的計數(shù),每次請求總是發(fā)給計數(shù)最小的服務(wù)器處理。

          (5)、最大空閑:Most idle First(基于監(jiān)控CPU,內(nèi)存,帶寬等綜合評估)

          (6)、平均最快響應(yīng):平均最快響應(yīng)

          (7)、最少流量:Least Traffic Scheduling

          還有一種常見的就是基于會話的負(fù)載實現(xiàn),但是嚴(yán)格來說Session(一般用于WEB)不能算是算法。Session實現(xiàn)負(fù)載均衡的主要過程為:首次請求記錄用戶的SessionID,然后再通過輪詢等算法選擇后端服務(wù)器,如果用戶后續(xù)使用同一SessionID發(fā)起請求,則無需再選擇服務(wù)器,直接轉(zhuǎn)發(fā)給前面根據(jù)SessionID找到的對應(yīng)的后端服務(wù)器。

          3、負(fù)載均衡模式

          負(fù)載均衡模式主要是指在整體方案中選擇從服務(wù)網(wǎng)絡(luò)的哪個層次或哪個產(chǎn)品來實現(xiàn)負(fù)載均衡方案。

          (1)、外部模式(RR-DNS)

          RR-DNS,即DNS輪詢模式,它的原理是利用DNS服務(wù)器支持同一域名配置多個獨立IP指向,然后輪詢解析指向IP實現(xiàn)多次訪問的調(diào)度和分發(fā),實現(xiàn)負(fù)載均衡。

          它的主要特點為:

          a、負(fù)載均衡實現(xiàn)與后端服務(wù)完全沒有關(guān)系,有DNS在本地解析指向?qū)崿F(xiàn)輪詢調(diào)度。這個方面來看性能最佳效率最高。

          b、DNS服務(wù)無法檢測到后端服務(wù)器是否正常,在TTL失效前,會一直指向失效的服務(wù)器,這就要求在實踐生成中,必須解決后端服務(wù)器的高可用問題。

          c、一般的第三方DNS服務(wù)提供商都支持該功能,但如果更新頻率高或附帶更新邏輯,一般會在系統(tǒng)內(nèi)自鍵DNS服務(wù),然后在注冊為公共DNS服務(wù)。

          (2)、應(yīng)用層模式

          a、什么是正向和反向代理?

          正向代理:用戶通過代理服務(wù)訪問internet, 把internet返回的數(shù)據(jù)轉(zhuǎn)發(fā)給用戶。正向代理對于整個網(wǎng)絡(luò)請求,它的角色實際是客戶端,代理客戶對外的訪問請求。

          反向代理:接受internet上用戶的請求,轉(zhuǎn)發(fā)給內(nèi)部的多臺服務(wù)器處理,完成后轉(zhuǎn)發(fā)后端服務(wù)器的返回給對應(yīng)的用戶。反向代理對于整個網(wǎng)絡(luò)請求,它的角色實際是服務(wù)器,代理接受(accept)所有用戶的請求。

          b、反向代理應(yīng)用模式

          常見的反向代理應(yīng)用模式,比如通過 Apache, nginx等Web服務(wù)器軟件實現(xiàn)WEB應(yīng)用的負(fù)載均衡和高可用。

          利用反向代理軟件實現(xiàn)負(fù)載均衡是性價比較高的模式。

          (3)、網(wǎng)絡(luò)層模式

          a、IP轉(zhuǎn)換

          IP轉(zhuǎn)換模式的負(fù)載均衡一般是在網(wǎng)絡(luò)的IP層實現(xiàn),通過報文改寫的方式實現(xiàn)VIP到多個內(nèi)部IP的轉(zhuǎn)發(fā)調(diào)度,以達(dá)到負(fù)載均衡的效果。

          它的主要特點包括:

          網(wǎng)絡(luò)層方案,效率較高,穩(wěn)定性較好;可與操作系統(tǒng)內(nèi)核結(jié)合;工業(yè)級模式和方案;大部分商業(yè)設(shè)備和產(chǎn)品都以該方式為主;LVS的基本原理也類同。

          b、IP轉(zhuǎn)換之LVS

          LVS(Linux Virtual Server),是中國人(98年)寫的工業(yè)級的負(fù)載平衡調(diào)度解決方案,章文嵩博士是該開源軟件創(chuàng)始人。也是目前業(yè)界最流行的軟件方式實現(xiàn)負(fù)載均衡的模式之一。LVS也是利用IP轉(zhuǎn)發(fā)的原理實現(xiàn)大多數(shù)有商業(yè)產(chǎn)品實現(xiàn)的能力,并做了部分優(yōu)化,主要有三種模式的應(yīng)用。

          (a)、通過NAT(Network Address Translation)實現(xiàn)虛擬服務(wù)器(VS/NAT)

          (b)、通過IP隧道實現(xiàn)虛擬服務(wù)器(VS/TUN)

          (c)、通過直接路由實現(xiàn)虛擬服務(wù)器(VS/DR)

          關(guān)于LVS的介紹文章非常多,這里就不再詳細(xì)介紹了,推薦參考閱讀<<構(gòu)建高性能web站點>>和<<大型網(wǎng)站技術(shù)架構(gòu)>>這兩本書中關(guān)于負(fù)載均衡的部分章節(jié)。

          c、IP轉(zhuǎn)換之負(fù)載均衡設(shè)備

          F5等負(fù)載均衡設(shè)備同樣是在網(wǎng)絡(luò)層實現(xiàn)負(fù)載均衡,但一般而言造價較為昂貴,性價比較低。

        【系統(tǒng)架構(gòu)師知識:負(fù)載均衡】相關(guān)文章:

        系統(tǒng)架構(gòu)師性能知識整理12-29

        系統(tǒng)架構(gòu)師是做什么的12-30

        如何成為優(yōu)秀的系統(tǒng)架構(gòu)師06-03

        系統(tǒng)架構(gòu)師的就業(yè)前景分析01-11

        系統(tǒng)架構(gòu)師必須具備哪些能力05-07

        系統(tǒng)架構(gòu)師是干什么的01-12

        義務(wù)教育均衡發(fā)展知識試題及答案02-26

        Windows系統(tǒng)分區(qū)知識01-13

        電腦硬件系統(tǒng)的維護(hù)知識10-12

        Linux操作系統(tǒng)文件系統(tǒng)基礎(chǔ)知識07-25

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 中文字幕日韩精品第一页 | 色桃花亚洲天堂视频久久 | 亚洲人成网线在线播放午夜 | 日韩精品一区二区三区在线播放 | 亚洲A∨精品一区二区三区 婷婷色婷婷开心五月 | 亚洲性图中文字幕在线播放 |

            系統(tǒng)架構(gòu)師知識:負(fù)載均衡

              負(fù)載均衡(Load Balance),顧名思義,是把服務(wù)的并發(fā)請求均衡地負(fù)載到后端多個具有相同能力的服務(wù)進(jìn)行處理分擔(dān),以廉價有效透明的方式擴展網(wǎng)絡(luò)設(shè)備或服務(wù)的帶寬,增加吞吐量,增強服務(wù)的整體處理能力,提供服務(wù)的靈活性和可用性。

            系統(tǒng)架構(gòu)師知識:負(fù)載均衡

              1、什么是負(fù)載均衡?

              常見的典型的負(fù)載均衡應(yīng)用場景:

              (1)、web集群:將大量的并發(fā)訪問或數(shù)據(jù)流量分擔(dān)到多臺節(jié)點設(shè)備上分別處理,減少用戶等待響應(yīng)的時間。

              (2)、MapReduce:單個重負(fù)載的運算分擔(dān)到多臺節(jié)點設(shè)備上做并行處理,每個節(jié)點設(shè)備處理結(jié)束后,將結(jié)果匯總,返回給⽤戶,系統(tǒng)處理能⼒得到大幅度提高。

              2、負(fù)載均衡算法

              負(fù)載均衡算法是負(fù)載均衡設(shè)備(包括虛擬設(shè)備或相關(guān)軟件)在執(zhí)行負(fù)載均衡調(diào)度,選擇具體處理的后端服務(wù)的時候使用的調(diào)度和分發(fā)的邏輯。

              負(fù)載均衡的算法只是規(guī)定了調(diào)度和分發(fā)的邏輯,在不同的負(fù)載均衡方案中都可能使用相同和(或)類似的算法,它只是負(fù)載均衡方案的一部分。

              常見的主流負(fù)載均衡算法包括:

              (1)、輪詢算法:Round Robin/Weight Round Robin Scheduling

              輪詢算法通過依次輪叫的方式依次將請求調(diào)度不同的后端服務(wù)器(Real Server)。通常可以分為普通輪詢和加權(quán)輪詢兩種方式。算法的優(yōu)點是簡潔且無狀態(tài)。

              算法簡單表示為:i = ( i + 1 ) mod n

              (2)、Hash算法: 隨機數(shù)Hash,Sources Hashing Scheduling

              Hash算法,又叫取余算法。一般是對請求報文中的某項數(shù)據(jù)(key,一般常用客戶端來源IP)計算Hash值,然后按機器數(shù)量(n)取模。

              算法簡單表示為:idx = Hash(key) % n

              Hash算法中,Key的選擇常用實踐如下:

              a、請求時間或隨機數(shù)

              特點是簡單,具有一定分散性,但不穩(wěn)定,一般用于要求不高的負(fù)載均衡場景。

              b、來源IP

              特點是簡單。如果客戶的分布比較廣,這種方式分散性較好。但如果較多的客戶請求來源于同一IP(公司網(wǎng)絡(luò)通過路由器上網(wǎng)),分散效果較差。

              大多負(fù)載均衡設(shè)備都支持這種算法,著名的nginx和LVS等軟件也支持。

              (3)、一致性Hash算法:Consistency Hash Scheduling

              一致性Hash算法最常用于分布式緩存(如memcached、redis等)的定位,但同時也可以在系統(tǒng)或程序中用于負(fù)載均衡,該算法本來的意義就在于分散負(fù)載和快速定位。

              推薦閱讀:截至目前看過的一致性Hash算法最佳介紹請猛擊這里。

              (4)、最少連接或請求數(shù): (Weight)Least Connection/Request Scheduling

              最小連接調(diào)度是一種動態(tài)調(diào)度算法,它通過服務(wù)器當(dāng)前所活躍的連接數(shù)來估計服務(wù)器的負(fù)載情況。

              算法主要邏輯是,調(diào)度設(shè)備或服務(wù)記錄后端服務(wù)器接受請求的計數(shù),每次請求總是發(fā)給計數(shù)最小的服務(wù)器處理。

              (5)、最大空閑:Most idle First(基于監(jiān)控CPU,內(nèi)存,帶寬等綜合評估)

              (6)、平均最快響應(yīng):平均最快響應(yīng)

              (7)、最少流量:Least Traffic Scheduling

              還有一種常見的就是基于會話的負(fù)載實現(xiàn),但是嚴(yán)格來說Session(一般用于WEB)不能算是算法。Session實現(xiàn)負(fù)載均衡的主要過程為:首次請求記錄用戶的SessionID,然后再通過輪詢等算法選擇后端服務(wù)器,如果用戶后續(xù)使用同一SessionID發(fā)起請求,則無需再選擇服務(wù)器,直接轉(zhuǎn)發(fā)給前面根據(jù)SessionID找到的對應(yīng)的后端服務(wù)器。

              3、負(fù)載均衡模式

              負(fù)載均衡模式主要是指在整體方案中選擇從服務(wù)網(wǎng)絡(luò)的哪個層次或哪個產(chǎn)品來實現(xiàn)負(fù)載均衡方案。

              (1)、外部模式(RR-DNS)

              RR-DNS,即DNS輪詢模式,它的原理是利用DNS服務(wù)器支持同一域名配置多個獨立IP指向,然后輪詢解析指向IP實現(xiàn)多次訪問的調(diào)度和分發(fā),實現(xiàn)負(fù)載均衡。

              它的主要特點為:

              a、負(fù)載均衡實現(xiàn)與后端服務(wù)完全沒有關(guān)系,有DNS在本地解析指向?qū)崿F(xiàn)輪詢調(diào)度。這個方面來看性能最佳效率最高。

              b、DNS服務(wù)無法檢測到后端服務(wù)器是否正常,在TTL失效前,會一直指向失效的服務(wù)器,這就要求在實踐生成中,必須解決后端服務(wù)器的高可用問題。

              c、一般的第三方DNS服務(wù)提供商都支持該功能,但如果更新頻率高或附帶更新邏輯,一般會在系統(tǒng)內(nèi)自鍵DNS服務(wù),然后在注冊為公共DNS服務(wù)。

              (2)、應(yīng)用層模式

              a、什么是正向和反向代理?

              正向代理:用戶通過代理服務(wù)訪問internet, 把internet返回的數(shù)據(jù)轉(zhuǎn)發(fā)給用戶。正向代理對于整個網(wǎng)絡(luò)請求,它的角色實際是客戶端,代理客戶對外的訪問請求。

              反向代理:接受internet上用戶的請求,轉(zhuǎn)發(fā)給內(nèi)部的多臺服務(wù)器處理,完成后轉(zhuǎn)發(fā)后端服務(wù)器的返回給對應(yīng)的用戶。反向代理對于整個網(wǎng)絡(luò)請求,它的角色實際是服務(wù)器,代理接受(accept)所有用戶的請求。

              b、反向代理應(yīng)用模式

              常見的反向代理應(yīng)用模式,比如通過 Apache, nginx等Web服務(wù)器軟件實現(xiàn)WEB應(yīng)用的負(fù)載均衡和高可用。

              利用反向代理軟件實現(xiàn)負(fù)載均衡是性價比較高的模式。

              (3)、網(wǎng)絡(luò)層模式

              a、IP轉(zhuǎn)換

              IP轉(zhuǎn)換模式的負(fù)載均衡一般是在網(wǎng)絡(luò)的IP層實現(xiàn),通過報文改寫的方式實現(xiàn)VIP到多個內(nèi)部IP的轉(zhuǎn)發(fā)調(diào)度,以達(dá)到負(fù)載均衡的效果。

              它的主要特點包括:

              網(wǎng)絡(luò)層方案,效率較高,穩(wěn)定性較好;可與操作系統(tǒng)內(nèi)核結(jié)合;工業(yè)級模式和方案;大部分商業(yè)設(shè)備和產(chǎn)品都以該方式為主;LVS的基本原理也類同。

              b、IP轉(zhuǎn)換之LVS

              LVS(Linux Virtual Server),是中國人(98年)寫的工業(yè)級的負(fù)載平衡調(diào)度解決方案,章文嵩博士是該開源軟件創(chuàng)始人。也是目前業(yè)界最流行的軟件方式實現(xiàn)負(fù)載均衡的模式之一。LVS也是利用IP轉(zhuǎn)發(fā)的原理實現(xiàn)大多數(shù)有商業(yè)產(chǎn)品實現(xiàn)的能力,并做了部分優(yōu)化,主要有三種模式的應(yīng)用。

              (a)、通過NAT(Network Address Translation)實現(xiàn)虛擬服務(wù)器(VS/NAT)

              (b)、通過IP隧道實現(xiàn)虛擬服務(wù)器(VS/TUN)

              (c)、通過直接路由實現(xiàn)虛擬服務(wù)器(VS/DR)

              關(guān)于LVS的介紹文章非常多,這里就不再詳細(xì)介紹了,推薦參考閱讀<<構(gòu)建高性能web站點>>和<<大型網(wǎng)站技術(shù)架構(gòu)>>這兩本書中關(guān)于負(fù)載均衡的部分章節(jié)。

              c、IP轉(zhuǎn)換之負(fù)載均衡設(shè)備

              F5等負(fù)載均衡設(shè)備同樣是在網(wǎng)絡(luò)層實現(xiàn)負(fù)載均衡,但一般而言造價較為昂貴,性價比較低。

            【系統(tǒng)架構(gòu)師知識:負(fù)載均衡】相關(guān)文章:

            系統(tǒng)架構(gòu)師性能知識整理12-29

            系統(tǒng)架構(gòu)師是做什么的12-30

            如何成為優(yōu)秀的系統(tǒng)架構(gòu)師06-03

            系統(tǒng)架構(gòu)師的就業(yè)前景分析01-11

            系統(tǒng)架構(gòu)師必須具備哪些能力05-07

            系統(tǒng)架構(gòu)師是干什么的01-12

            義務(wù)教育均衡發(fā)展知識試題及答案02-26

            Windows系統(tǒng)分區(qū)知識01-13

            電腦硬件系統(tǒng)的維護(hù)知識10-12

            Linux操作系統(tǒng)文件系統(tǒng)基礎(chǔ)知識07-25