負載均衡演算法總結

2021-10-07 12:30:11 字數 928 閱讀 4959

思路:

(1)用集合list或者set儲存全部的資源。

(2)產生乙個隨機數。

(3)隨機數在0-(list.size()-1) 返回之中

(4)返回list.get(隨機數)

思路:(1)用集合list或者set儲存全部的資源。

(2)初始化乙個計數器num=0。

(3)得到本次的資源list.get((num+1) % (list.size()))

(4)更新計數器 num = num+1:

為每個資源分配不同的權重例如a-3 b-2 c-1

請求次數

請求前選中資源

請求後1a2

b3c4

a思路如下:

資料結構:

type weightnode struct
權重計算思路

1.選中最大的currentweight節點為選中節點

2.所有節點權重重新計算:currentweight = currentweight + effectiveweight

3.本次最大的節點權重:currentweight = currentweight - totalweight

使用hash演算法讓固定的一部分請求落到同一臺伺服器上 。 而一致性的hash演算法是對2的32方取模 。 一致性hash演算法將整個hash空間組織成乙個虛擬的圓環,hash函式的值空間為0 ~ 2^32 - 1(乙個32位無符號整型)

資料和伺服器都採用相同的hash演算法計算出hash值,並且確定在hash環上的位置,資料hash位置沿著環順時針查詢,遇到的第乙個伺服器,那麼就是快取目標伺服器。

一致性hash演算法可能出現資料傾斜,引入虛擬節點來解決這個問題。對每個伺服器多計算hash值,對映到環上的每個位置都表示該伺服器,這樣即使伺服器數量少,也可以做到資料的均勻分布。

負載均衡演算法總結

通過系統隨機函式,根據後端伺服器列表的大小值來隨機選取其中一台進行訪問。由概率統計理論可以得知,隨著呼叫量的增大,其實際效果越來越接近於平均分配流量到每一台後端伺服器,也就是輪詢的效果 public class randomtest private static synchronized strin...

負載均衡演算法

輪循演算法 roundrobin 說明 每一次來自網路的請求輪流分配給內部中的每台伺服器,從1至n然後重新開始 舉例 適合於伺服器組中的所有伺服器都有相同的軟硬體配置並且平均服務請求相對均衡的情況 最少連線演算法 leastconnection 說明 客戶端的每一次請求服務在伺服器停留的時間都可能會...

負載均衡演算法

網際網路分布式系統中,很多服務是資料儲存相關的,海量訪問量下,直接訪問儲存介質是抗不住的,需要使用cache,cache集群的負載均衡演算法就成為乙個重要的話題,這裡對現有的負載均衡演算法進行一些總結。btw 雖然是cache負載均衡演算法小結,其實可以說是負載均衡演算法小結,只是針對cache應用...