日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Round-Robin负载均衡算法及其实现原理

發布時間:2024/1/23 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Round-Robin负载均衡算法及其实现原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載:https://blog.csdn.net/xtx1990/article/details/8437622

第一次在pjsip協議棧中了解到這個實現負載均衡的機制,于是網上查了下資料,下面的介紹應該可以很容易理解。

輪詢調度算法(Round-Robin Scheduling)

? ? 輪詢調度算法的原理是每一次把來自用戶的請求輪流分配給內部中的服務器,從1開始,直到N(內部服務器個數),然后重新開始循環。

? ? 算法的優點是其簡潔性,它無需記錄當前所有連接的狀態,所以它是一種無狀態調度。

? ? 輪詢調度算法流程

? ? 假設有一組服務器N臺,S={S1, S2, ..., Sn},一個指示變量i表示上一次選擇的服務器ID。變量i被初始化為N-1.其算法如下:

j = i;

do?

{

? ? j = (j+1) mod n;

? ? i = j;

? ? return Si;

} while(j != i);

return NULL;

? ? 這種算法的邏輯實現如圖1所示:

? ? ? ? ? ? ? ? ? ? ? ?圖1 輪詢調度實現邏輯圖示

? ? 輪詢調度算法假設所有服務器的處理性能都相同,不關心每臺服務器的當前連接數和響應速度。當請求服務間隔時間變化比較大時,輪詢調度算法導致服務器間的負載不均衡。

? ? 所以此種均衡算法適合于服務器組中的所有服務器都有相同的軟硬件配置并且平均服務請求相對均衡的情況。

權重輪詢調度算法(Weighted Round-Robin Scheduling)

? ? 上面所講的輪詢調度算法并沒有考慮每臺服務器的處理能力,在實際情況中,可能并不是這種情況。由于每臺服務器的配置、安裝的業務應用等不同,其處理能力會不一樣。所以,我們根據服務器的不同處理能力,給每個服務器分配不同的權值,使其能夠接受相應權值數的服務請求。

? ? 權重輪詢調度算法流程

? ? 假設有一組服務器S={S0, S1, ..., Sn-1}, W(Si)表示服務器Si的權值,一個指示變量i表示上一次選擇的服務器,指示變量cw表示當前調度的權值,max(S)表示集合S中所有服務器的最大權值,gcd(S)表示集合S中所有服務器權值的最大公約數。變量i初始化為-1,cw初始化為零。其算法如下:

while (true) {

? ? i = (i+1) mod n;

? ? if (i == 0) {

? ? ? ? cw = cw - gcd(S);

? ? ? ? if (cw <= 0) {

? ? ? ? ? ? cw = max(S);

? ? ? ? ? ? if (cw == 0)?

? ? ? ? ? ? ? ? return NULL;

? ? ? ? }

? ? }

? ? if (W(Si) >= cw)?

? ? ? ? return Si;

}

這種算法的邏輯實現如圖2所示,圖中我們假定四臺服務器的處理能力為3:1:1:1.

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2 權重輪詢調度實現邏輯圖示

? ?由于權重輪詢調度算法考慮到了不同服務器的處理能力,所以這種均衡算法能確保高性能的服務器得到更多的使用率,避免低性能的服務器負載過重。所以,在實際應用中比較常見。

總結

? ? ?輪詢調度算法以及權重輪詢調度算法的特點是實現起來比較簡潔,并且實用。目前幾乎所有的負載均衡設備均提供這種功能。

? ? ?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Round-Robin负载均衡算法及其实现原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。