負載均衡策略(二 隨機策略)

2021-09-24 14:08:46 字數 1222 閱讀 3435

隨機策略

從伺服器列表中隨機選擇乙個服務,然後該將請求**到隨機選擇的服務上。

隨機策略思路如下:

1.獲取註冊到註冊中心的總服務列表,服務狀態為up的服務列表

2.判斷總服務列表和服務狀態為up的服務列表是否為null或者數量為0,若是,則返回null

3.根據服務的總數量,或者隨機服務

4.若服務為null,則重複1,2,3步驟

5.若服務不為null,判斷服務是否是存活狀態,若是,則返回該服務資訊,若不是,重複1,2,3,4步驟

程式流程圖如下:

負載均衡演算法隨機策略

public class randomruletest 

server server = null;

while (server == null)

// 獲取此時此刻可以訪問的服務列表和全部伺服器列表

listreachableservers = loadbalancer.getreachableservers();

listallservers = loadbalancer.getallservers();

// 此時此刻總伺服器列表為null,則返回null

if(allservers == null || allservers.isempty() || reachableservers == null || reachableservers.isempty())

// 伺服器總數量

int servercount = allservers.size();

// 隨機獲取乙個索引

int index = random.nextint(servercount);

// 根據隨機索引,獲取伺服器

// 這裡原始碼有乙個bug,應該通過allservers來獲取伺服器

server = allservers.get(index);

// 判斷server是否為null,若為null,則需要再次獲取,直到獲取能夠使用的伺服器

if(null == server)

if(server.isalive())

server = null;

thread.yield();

}return server;}}

負載策略 CMC負載均衡策略

負載均衡技術是一種用在多個網路連線 計算機 計算機集群 cpu 磁碟驅動器或其他資源中,進行負載分配,以達到最優化資源使用 最大化吞吐率 最小化響應時間 同時避免過載的技術。就例如在火車站 商場等較擁擠的地方,會設定多個出入口,管理人員把客戶分散到各個出入口,能大大縮短出入時間。負載均衡也一樣,cm...

負載均衡策略 1 隨機排程

負載均衡策略分為兩部分。首先是後端服務縱向拆分,其次是確定每個請求應該落在哪台後端機器。後端服務縱向拆分,舉幾個例子說明。比如後端是提供 css 和 js 的檔案快取伺服器,磁碟空間不是瓶頸,而每個機器的頻寬和連線數是瓶頸,這種情況可以每個機器上都部署乙份一樣的檔案集合,做全冗餘。再比如後盾是提供 ...

負載均衡策略

1,對balancecode 乙個隨機數 簡單的取模,select balancecode m m為伺服器的數量 2,這時候,假如校驗select到的伺服器不可用。那麼。second balancecode m 1 select second select second second 1 效果就是把...