Round Robin方法信息
時(shí)間:2023-03-07 03:15:01 | 來(lái)源:營(yíng)銷(xiāo)百科
時(shí)間:2023-03-07 03:15:01 來(lái)源:營(yíng)銷(xiāo)百科
Round Robin方法信息:在系統(tǒng)實(shí)現(xiàn)時(shí),我們引入了一個(gè)額外條件,當(dāng)服務(wù)器的權(quán)值為零時(shí),表示該服務(wù)器不可用而不被調(diào)度。這樣做的目的是將服務(wù)器切出服務(wù)(如屏蔽服務(wù)器故障和系統(tǒng)維護(hù)),同時(shí)與其他加權(quán)算法保持一致。所以,算法要作相應(yīng)的改動(dòng),它的算法流程如下:
輪詢(xún)調(diào)度算法流程
假設(shè)有一組服務(wù)器S = {S0, S1, …, Sn-1},一個(gè)指示變量i表示上一次選擇的
服務(wù)器,W(Si)表示服務(wù)器Si的權(quán)值。變量i被初始化為n-1,其中n 0。
j = i;
do {
j = (j 1) mod n;
if (W(Sj) 0) {
i = j;
return Si;
}
} while (j != i);
return NULL;
輪詢(xún)調(diào)度算法假設(shè)所有服務(wù)器處理性能均相同,不管服務(wù)器的當(dāng)前連接數(shù)和響應(yīng)速度。該算法相對(duì)簡(jiǎn)單,不適用于服務(wù)器組中處理性能不一的情況,而且當(dāng)請(qǐng)求服務(wù)時(shí)間變化比較大時(shí),輪詢(xún)調(diào)度算法容易導(dǎo)致服務(wù)器間的負(fù)載不平衡。
雖然Round-Robin DNS方法也是以輪詢(xún)調(diào)度的方式將一個(gè)域名解析到多個(gè)IP地址,但輪詢(xún)DNS方法的調(diào)度粒度是基于每個(gè)域名服務(wù)器的,域名服務(wù)器對(duì)域名解析的緩存會(huì)妨礙輪詢(xún)解析域名生效,這會(huì)導(dǎo)致服務(wù)器間負(fù)載的嚴(yán)重不平衡。這里,IPVS輪詢(xún)調(diào)度算法的粒度是基于每個(gè)連接的,同一用戶(hù)的不同連接都會(huì)被調(diào)度到不同的服務(wù)器上,所以這種細(xì)粒度的輪詢(xún)調(diào)度要比DNS的輪詢(xún)調(diào)度優(yōu)越很多。