1. 程式人生 > >Round-Robin負載均衡演算法及其實現原理

Round-Robin負載均衡演算法及其實現原理

輪詢排程演算法(Round-Robin Scheduling)

輪詢排程演算法的原理是每一次把來自使用者的請求輪詢分配給內部中的伺服器,從1開始,直到N(內部伺服器個數),然後重新開始迴圈。

演算法的優點是其間接性,它無需記錄當前所有連線的狀態,所以它是一種無狀態排程。

輪詢排程演算法流程

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

j = 1;
do {
    j = (j + 1) mod n;
    i = j;
    return Si;
} while (j != i);
return NULL;

       輪詢排程演算法假設所有伺服器的處理效能都相同,不關心每臺伺服器的當前連線數和響應速度。當請求服務間隔時間變化比較大時,輪詢排程演算法容易導致伺服器間的負載不平衡。

       所以此種均衡演算法適合於伺服器組中的所有伺服器都有相同的軟硬體配置並且平均伺服器請求相對均衡的情況。

參考連結:https://www.cnblogs.com/fuland/p/3685695.html