自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

究及兩大負(fù)載均衡算法的原理

網(wǎng)絡(luò) 網(wǎng)絡(luò)優(yōu)化 網(wǎng)絡(luò)運(yùn)維 算法
本文詳細(xì)接曬了負(fù)載均衡算法的兩大內(nèi)容:輪詢調(diào)度和權(quán)重輪詢調(diào)度算法。分別進(jìn)行了代碼的展示和圖示相結(jié)合,望大家都能了解相關(guān)的內(nèi)容。

負(fù)載均衡設(shè)備的產(chǎn)生都是依據(jù)負(fù)載均衡算法的,那么現(xiàn)在我們就來(lái)研究一下它們的原理內(nèi)容。包括輪詢調(diào)度算法和權(quán)重輪詢調(diào)度算法。這兩種都是負(fù)載均衡算法的核心內(nèi)容。通過(guò)兩個(gè)算法的介紹,也能幫助我們理解負(fù)載均衡的概念。

負(fù)載均衡算法——輪詢調(diào)度算法(Round-Robin Scheduling)

輪詢調(diào)度算法的原理是每一次把來(lái)自用戶的請(qǐng)求輪流分配給內(nèi)部中的服務(wù)器,從1開(kāi)始,直到N(內(nèi)部服務(wù)器個(gè)數(shù)),然后重新開(kāi)始循環(huán),這也是負(fù)載均衡算法的核心內(nèi)容。

算法的優(yōu)點(diǎn)是其簡(jiǎn)潔性,它無(wú)需記錄當(dāng)前所有連接的狀態(tài),所以它是一種無(wú)狀態(tài)調(diào)度。

輪詢調(diào)度算法流程

假設(shè)有一組服務(wù)器N臺(tái),S = {S1, S2, …, Sn},一個(gè)指示變量i表示上一次選擇的服務(wù)器ID。變量i被初始化為N-1。其算法如下:

  1. j = i;   
  2.   do   
  3. {  
  4.   j = (j + 1) mod n;  
  5.   i = j;  
  6.   return Si;  
  7. while (j != i);  
  8. return NULL; 

 這種算法的邏輯實(shí)現(xiàn)如圖1所示:

 輪詢調(diào)度實(shí)現(xiàn)邏輯圖

圖1 輪詢調(diào)度實(shí)現(xiàn)邏輯圖示

輪詢調(diào)度算法假設(shè)所有服務(wù)器的處理性能都相同,不關(guān)心每臺(tái)服務(wù)器的當(dāng)前連接數(shù)和響應(yīng)速度。當(dāng)請(qǐng)求服務(wù)間隔時(shí)間變化比較大時(shí),輪詢調(diào)度算法容易導(dǎo)致服務(wù)器間的負(fù)載不平衡。

所以此種均衡算法適合于服務(wù)器組中的所有服務(wù)器都有相同的軟硬件配置并且平均服務(wù)請(qǐng)求相對(duì)均衡的情況。#p#

權(quán)重輪詢調(diào)度算法(Weighted Round-Robin Scheduling)

上面所講的輪詢調(diào)度算法并沒(méi)有考慮每臺(tái)服務(wù)器的處理能力,在實(shí)際情況中,可能并不是這種情況。由于每臺(tái)服務(wù)器的配置、安裝的業(yè)務(wù)應(yīng)用等不同,其處理能力會(huì)不一樣。所以,我們根據(jù)服務(wù)器的不同處理能力,給每個(gè)服務(wù)器分配不同的權(quán)值,使其能夠接受相應(yīng)權(quán)值數(shù)的服務(wù)請(qǐng)求。

負(fù)載均衡算法——權(quán)重輪詢調(diào)度算法流程

這一負(fù)載均衡算法是輪訓(xùn)調(diào)度算法的升級(jí)版本。假設(shè)有一組服務(wù)器S = {S0, S1, …, Sn-1},W(Si)表示服務(wù)器Si的權(quán)值,一個(gè)指示變量i表示上一次選擇的服務(wù)器,指示變量cw表示當(dāng)前調(diào)度的權(quán)值,max(S)表示集合S中所有服務(wù)器的***權(quán)值,gcd(S)表示集合S中所有服務(wù)器權(quán)值的***公約數(shù)。變量i初始化為-1,cw初始化為零。其算法如下:

  1. while (true) {   
  2.   i = (i + 1) mod n;  
  3.   if (i == 0) {  
  4.      cw = cw - gcd(S);  
  5.      if (cw <= 0) {  
  6.              cw = max(S);  
  7.              if (cw == 0)  
  8.              return NULL;  
  9. }  
  10. }   
  11.   if (W(Si) >= cw)   
  12.     return Si;  

這種算法的邏輯實(shí)現(xiàn)如圖2所示,圖中我們假定四臺(tái)服務(wù)器的處理能力為3:1:1:1。

 權(quán)重輪詢調(diào)度實(shí)現(xiàn)邏輯圖

由于權(quán)重輪詢調(diào)度算法考慮到了不同服務(wù)器的處理能力,所以這種均衡算法能確保高性能的服務(wù)器得到更多的使用率,避免低性能的服務(wù)器負(fù)載過(guò)重。所以,在實(shí)際應(yīng)用中比較常見(jiàn)。

總結(jié)

兩大負(fù)載均衡算法,輪詢調(diào)度算法以及權(quán)重輪詢調(diào)度算法的特點(diǎn)是實(shí)現(xiàn)起來(lái)比較簡(jiǎn)潔,并且實(shí)用。目前幾乎所有的負(fù)載均衡設(shè)備均提供這種功能。

責(zé)任編輯:佟健 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2018-07-27 08:39:44

負(fù)載均衡算法實(shí)現(xiàn)

2010-05-05 18:55:51

負(fù)載均衡算法

2010-04-26 15:04:08

負(fù)載均衡器

2010-05-05 18:49:39

服務(wù)器負(fù)載均衡

2010-05-04 16:10:51

負(fù)載均衡算法

2023-02-07 06:42:24

Pulsar負(fù)載均衡

2017-05-31 09:29:00

IT運(yùn)維算法

2018-04-10 10:49:17

負(fù)載均衡算法服務(wù)器

2024-05-11 07:57:47

因果推斷知識(shí)地圖算法

2024-03-28 13:10:20

負(fù)載均衡LVSHaproxy

2025-02-26 02:00:00

2019-12-27 09:29:46

負(fù)載均衡算法哈希算法

2010-05-10 14:11:41

負(fù)載均衡算法

2009-05-01 09:33:27

應(yīng)用交換負(fù)載均衡

2023-09-06 13:58:01

負(fù)載均衡算法

2010-05-04 14:06:15

Apache負(fù)載均衡

2015-09-25 09:56:37

負(fù)載均衡

2011-08-10 08:55:28

項(xiàng)目失敗

2010-05-04 14:30:45

Oracle數(shù)據(jù)

2024-06-18 08:14:21

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)