springcloud ribbon 饑餓加載原理解析
一、未饑餓加載前
我們的服務(wù)者端口是8081,消費(fèi)者端口是8085
當(dāng)我們將兩個(gè)項(xiàng)目都啟動(dòng)的時(shí)候,在消費(fèi)者里日志級(jí)別設(shè)置未debug,發(fā)現(xiàn)找不到8081

二、開啟饑餓加載
# 配置饑餓加載,d1為服務(wù)名
ribbon.eager-load.enabled=true
ribbon.eager-load.clients=d1
如果多個(gè)服務(wù)開啟饑餓模式,使用逗號(hào)分隔。 clients: userservice,orderservice

三、饑餓加載的原理

①特點(diǎn):我們可以理解為一種優(yōu)化策略,
應(yīng)用啟動(dòng)時(shí),Ribbon會(huì)根據(jù)配置立即向服務(wù)注冊(cè)中心發(fā)起請(qǐng)求,獲取指定服務(wù)的所有實(shí)例信息,并將其緩存起來。
② 優(yōu)點(diǎn):
- 減少延遲:首次調(diào)用服務(wù)時(shí)不再需要等待從服務(wù)注冊(cè)中心獲取實(shí)例列表的時(shí)間,提高服務(wù)調(diào)用的響應(yīng)速度。
- 避免雪崩效應(yīng):特別是在服務(wù)集群規(guī)模較大或網(wǎng)絡(luò)延遲較高的情況下,避免因首次請(qǐng)求時(shí)集中拉取服務(wù)列表引發(fā)的網(wǎng)絡(luò)擁塞或超時(shí)問題。
- 提升用戶體驗(yàn):特別適用于對(duì)啟動(dòng)性能要求較高的場景,如系統(tǒng)啟動(dòng)初期就有高并發(fā)請(qǐng)求的情況。
③ 缺點(diǎn):
- 增加資源消耗:啟動(dòng)時(shí)即加載所有服務(wù)實(shí)例可能導(dǎo)致額外的網(wǎng)絡(luò)資源消耗,特別是當(dāng)服務(wù)實(shí)例數(shù)量眾多時(shí)。
- 數(shù)據(jù)實(shí)時(shí)性問題:如果服務(wù)實(shí)例的注冊(cè)狀態(tài)在應(yīng)用啟動(dòng)后發(fā)生變化(比如新增、移除或狀態(tài)變更),饑餓加載的數(shù)據(jù)可能不會(huì)立刻反映最新的服務(wù)列表,需要配合輪詢或其他更新機(jī)制來保持?jǐn)?shù)據(jù)同步。
- 注意:雖然以上描述了Ribbon的一種潛在優(yōu)化策略,但在官方文檔或最新版本的Spring Cloud體系中,對(duì)Ribbon的饑餓加載特性并沒有明確支持。不過開發(fā)者可以根據(jù)需求自行實(shí)現(xiàn)類似的邏輯,以實(shí)現(xiàn)在應(yīng)用啟動(dòng)時(shí)預(yù)先加載服務(wù)實(shí)例信息的目的。
到此這篇關(guān)于springcloud - ribbon 饑餓加載的文章就介紹到這了,更多相關(guān)springcloud ribbon 加載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java數(shù)據(jù)導(dǎo)入功能之讀取Excel文件實(shí)例
這篇文章主要介紹了Java數(shù)據(jù)導(dǎo)入功能之讀取Excel文件實(shí)例,本文給出了jar包的下載地址以及讀取Excel文件的代碼實(shí)例,需要的朋友可以參考下2015-06-06
java實(shí)現(xiàn)查找PDF關(guān)鍵字所在頁碼及其坐標(biāo)
這篇文章主要介紹了java實(shí)現(xiàn)查找PDF關(guān)鍵字所在頁碼及其坐標(biāo)的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
SpringBoot使用MockMvc測試get和post接口的示例代碼
Spring Boot MockMvc是一個(gè)用于單元測試的模塊,它是Spring框架的一部分,專注于簡化Web應(yīng)用程序的測試,MockMvc主要用來模擬一個(gè)完整的HTTP請(qǐng)求-響應(yīng)生命周期,本文給大家介紹了SpringBoot使用MockMvc測試get和post接口,需要的朋友可以參考下2024-06-06
Java 設(shè)計(jì)模式之責(zé)任鏈模式及異步責(zé)任鏈詳解
顧名思義,責(zé)任鏈模式(Chain of Responsibility Pattern)為請(qǐng)求創(chuàng)建了一個(gè)接收者對(duì)象的鏈。這種模式給予請(qǐng)求的類型,對(duì)請(qǐng)求的發(fā)送者和接收者進(jìn)行解耦。這種類型的設(shè)計(jì)模式屬于行為型模式2021-11-11
Java實(shí)現(xiàn)畫圖的詳細(xì)步驟(完整代碼)
今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識(shí),文章圍繞著Java實(shí)現(xiàn)畫圖的詳細(xì)步驟展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Spring?Boot實(shí)現(xiàn)微信掃碼登錄功能流程分析
這篇文章主要介紹了Spring?Boot?實(shí)現(xiàn)微信掃碼登錄功能,介紹了授權(quán)流程代碼和用戶登錄和登出的操作代碼,代碼簡單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
如何修改覆蓋spring boot默認(rèn)日志策略logback詳解
這篇文章主要給大家介紹了關(guān)于如何修改覆蓋spring boot默認(rèn)日志策略logback的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10

