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 配置方式2eureka-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註...