SpringCloud?Ribbon負(fù)載均衡原理
一、Ribbon負(fù)載均衡原理
1 負(fù)載均衡原理
2 負(fù)載均衡策略(IRule接口)
Ribbon的負(fù)載均衡規(guī)則是一個(gè)叫做IRule
的接口來定義的,每一個(gè)子接口都是一種規(guī)則:
通過定義IRule實(shí)現(xiàn)可以修改負(fù)載均衡規(guī)則,有兩種方式:
代碼方式:在order-service中的OrderApplication類中,定義一個(gè)新的IRule:(全局配置)
?@Bean ?public IRule randomRule() { ? ?return new RandomRule(); ?}
配置文件方式:在order-service的application.yml文件中,添加新的配置也可以修改規(guī)則:(針對(duì)某個(gè)微服務(wù)而言)
?userservice: ? ribbon: ? ? NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule# 負(fù)載均衡規(guī)則
3 Ribbon默認(rèn)懶加載
Ribbon默認(rèn)是采用懶加載,即第一次訪問時(shí)才會(huì)去創(chuàng)建LoadBalanceClient,請(qǐng)求時(shí)間會(huì)很長。
而饑餓加載則會(huì)在項(xiàng)目啟動(dòng)時(shí)創(chuàng)建,降低第一次訪問的耗時(shí),通過下面配置開啟饑餓加載:
?ribbon: ? eager-load: ? ? enabled: true # 開啟饑餓加載 ? ? clients: # 指定饑餓加載的服務(wù)名稱 ? ? ? - userservice
4 總結(jié):Ribbon負(fù)載均衡規(guī)則、自定義、饑餓加載
Ribbon負(fù)載均衡規(guī)則
- 規(guī)則接口是IRule
- 默認(rèn)實(shí)現(xiàn)是ZoneAvoidanceRule,根據(jù)zone選擇服務(wù)列表,然后輪詢
負(fù)載均衡策略自定義方式
- 代碼方式:配置靈活,但修改時(shí)需要重新打包發(fā)布
- 配置方式:直觀,方便,無需重新打包發(fā)布,但是無法做全局配置
饑餓加載
- 開啟饑餓加載
- 指定饑餓加載的微服務(wù)名稱
到此這篇關(guān)于SpringCloud Ribbon負(fù)載均衡原理的文章就介紹到這了,更多相關(guān)SpringCloud Ribbon內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Hadoop實(shí)現(xiàn)求共同好友的示例詳解
一想到要實(shí)現(xiàn)求共同好友的功能,很多人都會(huì)想到redis來實(shí)現(xiàn)。但是redis存儲(chǔ)和數(shù)據(jù)和計(jì)算時(shí)需要耗費(fèi)較多的內(nèi)存資源。所以文本將介紹另一種方法,即利用Hadoop中的MapReduce來實(shí)現(xiàn),感興趣的可以了解一下2022-01-01解析ConcurrentHashMap: 預(yù)熱(內(nèi)部一些小方法分析)
ConcurrentHashMap是由Segment數(shù)組結(jié)構(gòu)和HashEntry數(shù)組結(jié)構(gòu)組成。Segment的結(jié)構(gòu)和HashMap類似,是一種數(shù)組和鏈表結(jié)構(gòu),今天給大家普及java面試常見問題---ConcurrentHashMap知識(shí),一起看看吧2021-06-06SpringBoot對(duì)靜態(tài)資源的映射規(guī)則詳解解讀
這篇文章主要介紹了SpringBoot對(duì)靜態(tài)資源的映射規(guī)則詳解解讀,在Spring Boot中,映射規(guī)則是用來定義URL與控制器方法之間的映射關(guān)系的,通過映射規(guī)則,可以將特定的URL請(qǐng)求映射到相應(yīng)的控制器方法上,從而實(shí)現(xiàn)請(qǐng)求的處理和響應(yīng)的返回,需要的朋友可以參考下2023-10-10SpringBoot整合PageHelper實(shí)現(xiàn)分頁查詢功能詳解
PageHelper是mybatis框架的一個(gè)插件,用于支持在mybatis執(zhí)行分頁操作。本文將通過SpringBoot整合PageHelper實(shí)現(xiàn)分頁查詢功能,需要的可以參考一下2022-03-03java面試常見問題---ConcurrentHashMap
ConcurrentHashMap是由Segment數(shù)組結(jié)構(gòu)和HashEntry數(shù)組結(jié)構(gòu)組成。Segment的結(jié)構(gòu)和HashMap類似,是一種數(shù)組和鏈表結(jié)構(gòu),今天給大家普及java面試常見問題---ConcurrentHashMap知識(shí),一起看看吧2021-06-06