天天看點

Round Robin 輪詢排程算法Round Robin 輪詢排程算法

Round Robin 輪詢排程算法

輪詢排程(Round-Robin Scheduling)

輪詢排程(Round Robin Scheduling)算法就是以輪詢的方式依次将請求排程不同的伺服器,即每次排程執行i = (i + 1) mod n,并選出第i台伺服器。算法的優點是其簡潔性,它無需記錄目前所有連接配接的狀态,是以它是一種無狀态排程。

輪詢排程算法的原理是每一次把來自使用者的請求輪流配置設定給内部中的伺服器,從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;
           

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

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

繼續閱讀