0022 Ribbon負載均衡演算法

2021-10-04 22:41:03 字數 1885 閱讀 9328

3. 自定義負載均衡演算法

2.1 全域性配置

這種配置方式會影響所有的微服務呼叫

@configuration

public

class

ruleconfig

}

2.2 區域性配置

2.2.1 外層目錄建立個性化配置

在@componentscan掃瞄不到的地方建立配置檔案

/**

* created by rongyaowen

* on 2020/4/2.

* 針對eureka-provider做的ribbon客戶端配置

*/@configuration

public

class

eurekaproviderserviceconfig

}

2.2.2 配置方式1

在@componentscan掃瞄目錄下建立配置檔案

/**

* created by rongyaowen

* on 2020/3/31.

* ribbon客戶端配置

*/@configuration

@ribbonclient

(name =

"eureka-provider"

, configuration = eurekaproviderserviceconfig.

class

)public

class

ribbonconfig

2.2.3 配置方式2
eureka-provider

:# 服務名稱

ribbon

:nfloadbalancerruleclassname

: com.netflix.loadbalancer.randomrule # 表示配置輪詢演算法

實現irule介面或者實現其子類

/**

* created by rongyaowen

* on 2020/3/31.

* 只返回第1臺主機

*/public

class

myrule

extends

abstractloadbalancerrule

/** * randomly choose from all living servers

*/public server choose

(iloadbalancer lb, object key)

server server = null;

while

(server == null)

list

uplist = lb.

getreachableservers()

; list

alllist = lb.

getallservers()

;int servercount = alllist.

size()

;if(servercount ==0)

int index =0;

server = uplist.

get(index);if

(server == null)

if(server.

isalive()

) server = null;

thread.

yield()

;}return server;

}public server choose

(object key)

}

根據第二點講的將其配置上就可以了

Ribbon負載均衡

在resttemplate feign zuul中都整合了ribbon負載均衡,其中ribbon負載均衡通過iruler介面來實現,總共有6種實現類 其中預設配置方式為簡單輪詢,自定義配置有兩種 1 配置config ribbonclients defaultconfiguration defaul...

Ribbon負載均衡

ribbon主要功能是提供客戶端的軟體負載均衡演算法,提供一系列完整的配置項,例如連線超時 重試等。在eureka的自動配置依賴模組spring cloud starter eureka中,已經整合了ribbon,可以直接使用ribbon來實現客戶端的負載均衡 在eureka中使用ribbon十分簡...

Ribbon負載均衡

什麼是負載均衡?負載均衡 簡單的講就是將使用者的請求均勻的分發到多台伺服器上。使用ribbon實現負載均衡 因為eureka中已經整合了ribbon,所以我們無需引入新的依賴,直接修改 在呼叫服務方加註解,本次使用的是spring在resttemplate的配置方法上新增 loadbalanced註...