欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)邀請(qǐng)碼778899分享:java Ribbon負(fù)載均衡

柚子快報(bào)邀請(qǐng)碼778899分享:java Ribbon負(fù)載均衡

http://yzkb.51969.com/

大家好我是蘇麟 今天帶來Ribbon負(fù)載均衡 .?

負(fù)載均衡

?源碼跟蹤

LoadBalancerInterceptor ,這個(gè)類會(huì)在對(duì)RestTemplate的請(qǐng)求進(jìn)行攔截,然后從Eureka根據(jù)服務(wù)id 獲取服務(wù)列表,隨后利用負(fù)載均衡算法得到真實(shí)的服務(wù)地址信息,替換服務(wù)id。

1) LoadBalancerIntercepor

可以看到這里的intercept方法,攔截了用戶的HttpRequest請(qǐng)求,然后做了幾件事:

request.getURI() :獲取請(qǐng)求uri,本例中就是 http://user-service/user/8originalUri.getHost() :獲取uri路徑的主機(jī)名,其實(shí)就是服務(wù)id, user-servicethis.loadBalancer.execute() :處理服務(wù)id,和用戶請(qǐng)求。

這里的 this.loadBalancer 是 LoadBalancerClient 類型,我們繼續(xù)跟入。

2)LoadBalancerClient

代碼是這樣的:

getLoadBalancer(serviceId):根據(jù)服務(wù)id獲取ILoadBalancer,而ILoadBalancer會(huì)拿著服務(wù)id去 eureka中獲取服務(wù)列表并保存起來。getServer(loadBalancer):利用內(nèi)置的負(fù)載均衡算法,從服務(wù)列表中選擇一個(gè)。本例中,可以看到 獲取了8082端口的服務(wù)

放行后,再次訪問并跟蹤,發(fā)現(xiàn)獲取的是8081

3)負(fù)載均衡策略IRule

總結(jié)

?基本流程如下:

攔截我們的RestTemplate請(qǐng)求http://userservice/user/1RibbonLoadBalancerClient會(huì)從請(qǐng)求url中獲取服務(wù)名稱,也就是user-serviceDynamicServerListLoadBalancer根據(jù)user-service到eureka拉取服務(wù)列表eureka返回列表,localhost:8081、localhost:8082IRule利用內(nèi)置負(fù)載均衡規(guī)則,從列表中選擇一個(gè),例如localhost:8081RibbonLoadBalancerClient修改請(qǐng)求地址,用localhost:8081替代userservice,得到http://localh ost:8081/user/1,發(fā)起真實(shí)請(qǐng)求

負(fù)載均衡策略

自定義負(fù)載均衡策略

通過定義IRule實(shí)現(xiàn)可以修改負(fù)載均衡規(guī)則,有兩種方式:

? ? 1. 代碼方式:在order-service中的OrderApplication類中,定義一個(gè)新的IRule:

/**

* 通過定義IRue實(shí)現(xiàn)可以修改負(fù)載均衡規(guī)則,有兩種方法

* 1.在啟動(dòng)類中定義一個(gè)新的IRue 這種是全局的

*

*/

@Bean

public IRule randomRule() {

return new RandomRule();

}

? ?2. 配置文件方式:在order-service的application.yml文件中,添加新的配置也可以修改規(guī)則:

userservice:

ribbon:

NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

饑餓加載

Ribbon默認(rèn)是采用懶加載,即第一次訪問時(shí)才會(huì)去創(chuàng)建LoadBalanceClient,請(qǐng)求時(shí)間會(huì)很長(zhǎng)。 而饑餓加載則會(huì)在項(xiàng)目啟動(dòng)時(shí)創(chuàng)建,降低第一次訪問的耗時(shí),通過下面配置開啟饑餓加載:

ribbon:

eager-load:

enabled: true

clients: userservice

這期就到這里下期見!

拜拜!

柚子快報(bào)邀請(qǐng)碼778899分享:java Ribbon負(fù)載均衡

http://yzkb.51969.com/

相關(guān)鏈接

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/17834203.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄