国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微服務(wù)-Ribbon負(fù)載均衡

這篇具有很好參考價(jià)值的文章主要介紹了微服務(wù)-Ribbon負(fù)載均衡。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

負(fù)載均衡原理

流程

微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡

原理

@LoadBalanced
標(biāo)記RestTemplate發(fā)起的http請(qǐng)求要被Ribbon進(jìn)行攔截和處理

源碼分析
  1. ctrl+shift+N搜索LoadBalancerInterceptor,進(jìn)入。發(fā)現(xiàn)實(shí)現(xiàn)了ClientHttpRequestInterceptor(客戶端Http請(qǐng)求攔截器)的intercept方法
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡
    攔截方法
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡
  2. 打一個(gè)斷點(diǎn),啟動(dòng)order-application,瀏覽器發(fā)送請(qǐng)求http://localhost:8080/order/104
  3. 在該方法中對(duì)http請(qǐng)求進(jìn)行攔截,獲取到了服務(wù)名serviceName = “userservice”,然后進(jìn)入到了RibbonLoadBalancerClient的excute方法中。
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡
  4. 進(jìn)入到excute方法,發(fā)現(xiàn)調(diào)用了該類的一個(gè)重載方法excute
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡
  5. step into到這個(gè)excute方法
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡發(fā)現(xiàn)serviceId = “userservice”,通過(guò)serviceId獲取到ILoadBalancer,點(diǎn)開(kāi)ILoadBalancer,發(fā)現(xiàn)里面存儲(chǔ)了兩個(gè)userservice,即成功拉取了2個(gè)userservice。獲取的loadBalancer對(duì)象的名稱為DynamicServerListLoadBalancer,動(dòng)態(tài)服務(wù)列表負(fù)載均衡器。
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡
  6. 進(jìn)入到getServer方法,下一步從loadBalancer的2個(gè)userservice中選擇1個(gè)
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡再進(jìn)入到chooseServer方法里,最終調(diào)用了父類的chooseServer方法
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡
    進(jìn)入,最終調(diào)用了rule.choose方法
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡查看這個(gè)rule,發(fā)現(xiàn)是一個(gè)IRule類型,這是一個(gè)接口,ctrl+h查看實(shí)現(xiàn)該接口的類有哪些
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡發(fā)現(xiàn)有好幾種規(guī)則,RoundRobin,Random等,正是通過(guò)這幾種規(guī)則從多個(gè)userservice中選擇出一個(gè)合適的userservice。
負(fù)載均衡流程

微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡

負(fù)載均衡策略

微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡
通過(guò)定義IRule的實(shí)現(xiàn)可以修改負(fù)載均衡的策略

  1. 方式一,直接在配置類中定義。針對(duì)所有微服務(wù)而言。
@Bean
public IRule randomRule(){    
	return new RandomRule();
}
  1. 方式二,在application.yml中定義。針對(duì)某個(gè)微服務(wù)。
userservice:  
  ribbon:    
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 負(fù)載均衡規(guī)則 

饑餓加載

Ribbon默認(rèn)采用的是懶加載,即第一次訪問(wèn)Ribbon服務(wù)的時(shí)候才會(huì)加載LoadBalanceClient,請(qǐng)求時(shí)間會(huì)很長(zhǎng);
而饑餓加載在項(xiàng)目啟動(dòng)時(shí)加載

ribbon:  
  eager-load:    
    enabled: true # 開(kāi)啟饑餓加載     
    clients: userservice # 指定對(duì)userservice這個(gè)服務(wù)饑餓加載
  1. 懶加載,第一次訪問(wèn)是409ms,后續(xù)10ms
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡
  2. 饑餓加載,第一次訪問(wèn)是236ms,后續(xù)10ms
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡
    微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡

總結(jié)

微服務(wù)-Ribbon負(fù)載均衡,微服務(wù),微服務(wù),ribbon,負(fù)載均衡文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-719490.html

到了這里,關(guān)于微服務(wù)-Ribbon負(fù)載均衡的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Ribbon負(fù)載均衡+Nacos服務(wù)搭建

    Ribbon負(fù)載均衡+Nacos服務(wù)搭建

    首先通過(guò)RibbonLoadBalanceerClient獲取服務(wù)名,并傳給DynamicServerListLoadBalancer——通過(guò)EureKa-server獲取服務(wù)名對(duì)應(yīng)服務(wù)列表(也就是被注冊(cè)到EureKa中的服務(wù),可能包括不同端口的),然后我們會(huì)根據(jù)IRule中的服務(wù)負(fù)載均衡-選擇某個(gè)服務(wù),然后修改url發(fā)送請(qǐng)求; Ribbon的負(fù)載均衡是一個(gè)叫

    2024年02月10日
    瀏覽(21)
  • Cloud微服務(wù):Ribbon負(fù)載均衡

    Cloud微服務(wù):Ribbon負(fù)載均衡

    個(gè)人簡(jiǎn)介:Java領(lǐng)域新星創(chuàng)作者;阿里云技術(shù)博主、星級(jí)博主、專家博主;正在Java學(xué)習(xí)的路上摸爬滾打,記錄學(xué)習(xí)的過(guò)程~ 個(gè)人主頁(yè):.29.的博客 學(xué)習(xí)社區(qū):進(jìn)去逛一逛~ 服務(wù)消費(fèi)者(order-service)根據(jù)服務(wù)名稱發(fā)起請(qǐng)求,請(qǐng)求地址(url):http://userservice/user/1。 請(qǐng)求被 負(fù)載均衡攔

    2024年04月26日
    瀏覽(19)
  • 第五章 Ribbon負(fù)載均衡服務(wù)調(diào)用

    第五章 Ribbon負(fù)載均衡服務(wù)調(diào)用

    1. Ribbon概述 Spring Cloud Ribbon是一個(gè)基于HTTP和TCP的客戶端負(fù)載均衡工具,它基于Netflix Ribbon實(shí)現(xiàn)。通過(guò)Spring Cloud的封裝,可以讓我們輕松地將面向服務(wù)的REST模版請(qǐng)求自動(dòng)轉(zhuǎn)換成客戶端負(fù)載均衡的服務(wù)調(diào)用。Spring Cloud Ribbon雖然只是一個(gè)工具類框架,它不像服務(wù)注冊(cè)中心、配置中心

    2024年02月04日
    瀏覽(16)
  • springcloud Ribbon負(fù)載均衡服務(wù)調(diào)用

    springcloud Ribbon負(fù)載均衡服務(wù)調(diào)用

    地址:https://github.com/13thm/study_springcloud/tree/main/days6_Ribbon Spring Cloud Ribbon是基于Netflix Ribbon實(shí)現(xiàn)的一套客戶端 負(fù)載均衡的工具。 簡(jiǎn)單的說(shuō),Ribbon是Netflix發(fā)布的開(kāi)源項(xiàng)目,主要功能是提供客戶端的軟件負(fù)載均衡算法和服務(wù)調(diào)用。Ribbon客戶端組件提供一系列完善的配置項(xiàng)如連接超時(shí)

    2024年01月20日
    瀏覽(20)
  • 微服務(wù)中間件--Ribbon負(fù)載均衡

    微服務(wù)中間件--Ribbon負(fù)載均衡

    1.發(fā)起請(qǐng)求http://userservice/user/1,Ribbon攔截該請(qǐng)求 2.Ribbon通過(guò)EurekaServer拉取userservice 3.EurekaServer返回服務(wù)列表給Ribbon做負(fù)載均衡 4.Ribbon輪詢到端口 Ribbon的負(fù)載均衡規(guī)則是一個(gè)叫IRule的接口來(lái)定義的,每一個(gè)子接口都是一種規(guī)則: 通過(guò)定義IRule實(shí)現(xiàn)可以修改負(fù)載均衡規(guī)則,有兩種

    2024年02月12日
    瀏覽(23)
  • 【微服務(wù) SpringCloud】實(shí)用篇 · Ribbon負(fù)載均衡

    【微服務(wù) SpringCloud】實(shí)用篇 · Ribbon負(fù)載均衡

    微服務(wù)(4) 在前面,我們添加了@LoadBalanced注解,即可實(shí)現(xiàn)負(fù)載均衡功能,這是什么原理、什么策略呢? SpringCloud底層其實(shí)是利用了一個(gè)名為 Ribbon 的組件 ,來(lái)實(shí)現(xiàn)負(fù)載均衡功能的。 那么我們發(fā)出的請(qǐng)求明明是http://userservice/user/1,怎么變成了http://localhost:8081的呢? 為什么我

    2024年02月08日
    瀏覽(28)
  • 微服務(wù)Ribbon-負(fù)載均衡策略和饑餓加載

    微服務(wù)Ribbon-負(fù)載均衡策略和饑餓加載

    目錄 一、負(fù)載均衡策略 1.1 負(fù)載均衡策略介紹 1.2 自定義負(fù)載均衡策略 二、饑餓加載 (筆記整理自bilibili黑馬程序員課程) 1.1 負(fù)載均衡策略介紹 負(fù)載均衡的規(guī)則都定義在IRule接口中,而IRule有很多不同的實(shí)現(xiàn)類: ?不同規(guī)則的含義如下: 內(nèi)置負(fù)載均衡規(guī)則類 規(guī)則描述 Round

    2024年02月13日
    瀏覽(15)
  • Spring Cloud之負(fù)載均衡與服務(wù)調(diào)用(Ribbon)

    Spring Cloud之負(fù)載均衡與服務(wù)調(diào)用(Ribbon)

    目錄 Ribbon 簡(jiǎn)介 負(fù)載均衡 簡(jiǎn)介 負(fù)載均衡方式 服務(wù)端負(fù)載均衡 工作原理 特點(diǎn) 客戶端負(fù)載均衡 工作原理 特點(diǎn) 對(duì)比 實(shí)現(xiàn) 負(fù)載均衡策略 切換負(fù)載均衡策略 定制負(fù)載均衡策略 超時(shí)與重試 單個(gè)服務(wù)配置 全局配置 服務(wù)調(diào)用 示例 ????????Ribbon 是 Netflix 公司發(fā)布的開(kāi)源組件,其

    2024年02月08日
    瀏覽(19)
  • Ribbon:Spring Cloud負(fù)載均衡與服務(wù)調(diào)用組件

    Ribbon:Spring Cloud負(fù)載均衡與服務(wù)調(diào)用組件

    負(fù)載均衡? Ribbon實(shí)現(xiàn)服務(wù)調(diào)用? Ribbon實(shí)現(xiàn)負(fù)載均衡? 切換負(fù)載均衡策略? 定制負(fù)載均衡策略? 負(fù)載均衡 負(fù)載均衡(Load Balance),將用戶的請(qǐng)求平分到多個(gè)服務(wù)器上運(yùn)行,以擴(kuò)展服務(wù)器帶寬、增強(qiáng)數(shù)據(jù)處理能力、增加吞吐量、提高網(wǎng)絡(luò)的可用性和靈活性的目的。 服務(wù)端負(fù)載

    2024年02月03日
    瀏覽(29)
  • 【Java】微服務(wù)——Ribbon負(fù)載均衡(跟進(jìn)源碼分析原理)

    【Java】微服務(wù)——Ribbon負(fù)載均衡(跟進(jìn)源碼分析原理)

    添加@LoadBalanced注解,即可實(shí)現(xiàn)負(fù)載均衡功能,這是什么原理 SpringCloud底層其實(shí)是利用了一個(gè)名為Ribbon的組件,來(lái)實(shí)現(xiàn)負(fù)載均衡功能的。 為什么我們只輸入了service名稱就可以訪問(wèn)了呢?之前還要獲取ip和端口。 顯然有人幫我們根據(jù)service名稱,獲取到了服務(wù)實(shí)例的ip和端口。它

    2024年02月07日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包