6種負載均衡演算法

2021-08-05 19:16:28 字數 1602 閱讀 3576

1、輪詢法

此演算法將請求按順序輪流的分配到後端伺服器,他均衡的對待後台每一台伺服器,而不關心伺服器實際的連線數和當前的系統負載

public

class roundrobin

public

static

void

main(string args)

}).start();}}

public

static string testroundrobin()

server=keylist.get(pos);

pos++;

}return server;

}}

2)隨機(random)法

通過系統隨機函式,根據後端伺服器列表的大小值來隨機選取其中一台進行訪問。由概率統計論得知,隨著呼叫量的增大,其實際效果越來越接近平均分配流浪到每一台後端伺服器。

public static string testrandom()
3)源位址雜湊(hash)法

源位址雜湊法的思想是獲取客戶端訪問的ip位址,通過雜湊函式計算得到乙個數值,用該數值對伺服器列表的大小進行取模運算,得到的結果便是要訪問的伺服器的序號。採用雜湊法進行負載均衡,當後端伺服器列表不變時,同一ip位址的客戶端,每次都會被影射到同一台後端伺服器。

public static string testconsumerhash(string remoteip)
4)加權輪詢法

不同的後端伺服器可能機器的配置和當前系統的負載並不相同,因此它們的抗壓能力也不盡相同。給配置高的、負載低的機器更高的權重,讓其處理更多請求,而低配置、負載高的機器,則給其分配較低的權重,降低其系統負載。

public static string testweightroundrobin()

}string server=

null;

synchronized(pos)

server=serverlist.get(pos);

pos++;

}return server;

}

5)加權隨機(weught random)法

與加權輪詢法類似,加權隨機法也根據後端伺服器不同的配置和負載情況,配置不同的權重

public static string testweightrandom()

}string server=

null;

int randompos =

new random().nextint(serverlist.size());

server=serverlist.get(randompos);

return server;

}

6、最小連線數法

最小連線數演算法比較靈活和智慧型,由於後端伺服器的配置不盡相同,對於請求的處理有快有慢,它是根據後端伺服器當前的連線情況,動態地選取其中當前

積壓連線數最少的一台伺服器來處理當前的請求,盡可能地提高後端服務的利用效率,將負責合理地分流到每一台伺服器

6種負載均衡演算法

1 輪詢法 將請求按順序輪流地分配到後端伺服器上,它均衡地對待後端的每一台伺服器,而不關心伺服器實際的連線數和當前的系統負載。2 隨機法 通過系統的隨機演算法,根據後端伺服器的列表大小值來隨機選取其中的一台伺服器進行訪問。由概率統計理論可以得知,隨著客戶端呼叫服務端的次數增多,其實際效果越來越接近於...

6種負載均衡演算法

1 輪詢法 將請求按順序輪流地分配到後端伺服器上,它均衡地對待後端的每一台伺服器,而不關心伺服器實際的連線數和當前的系統負載。2 隨機法 通過系統的隨機演算法,根據後端伺服器的列表大小值來隨機選取其中的一台伺服器進行訪問。由概率統計理論可以得知,隨著客戶端呼叫服務端的次數增多,其實際效果越來越接近於...

6種負載均衡演算法

1 輪詢法 將請求按順序輪流地分配到後端伺服器上,它均衡地對待後端的每一台伺服器,而不關心伺服器實際的連線數和當前的系統負載。2 隨機法 通過系統的隨機演算法,根據後端伺服器的列表大小值來隨機選取其中的一台伺服器進行訪問。由概率統計理論可以得知,隨著客戶端呼叫服務端的次數增多,其實際效果越來越接近於...