最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Ribbon負(fù)載均衡詳細(xì)講解

 更新時(shí)間:2023年01月30日 10:15:08   作者:像向日葵一樣~  
Ribbon其實(shí)就是一個(gè)軟負(fù)載均衡的客戶端組件,他可以和其他所需請(qǐng)求的客戶端結(jié)合使用,這篇文章主要介紹了Ribbon負(fù)載均衡服務(wù)調(diào)用案例代碼,需要的朋友可以參考下

介紹

Spring Cloud Ribbon是基于Netflix Ribbon實(shí)現(xiàn)的一套客戶端負(fù)載均衡的工具。Ribbon是Netflix發(fā)布的開源項(xiàng)目,主要功能是提供客戶端的軟件負(fù)載均衡算法和服務(wù)調(diào)用。Ribbon客戶端組件提供一系列完善的配置項(xiàng)如連接超時(shí),重試等。

簡(jiǎn)單的說,就是在配置文件中列出Load Balancer(簡(jiǎn)稱LB)后面所有的機(jī)器,Ribbon會(huì)自動(dòng)的幫助你基于某種規(guī)則(如簡(jiǎn)單輪詢,隨機(jī)連接等)去連接這些機(jī)器。我們很容易使用Ribbon實(shí)現(xiàn)自定義的負(fù)載均衡算法。其實(shí)就是負(fù)載均衡 + RestTemplate調(diào)用 LB負(fù)載均衡(Load Balance)是什么

簡(jiǎn)單的說就是將用戶的請(qǐng)求平攤的分配到多個(gè)服務(wù)上,從而達(dá)到系統(tǒng)的HA (高可用)。

常見的負(fù)載均衡有軟件Nginx,LVS,硬件F5等。 Ribbon本地負(fù)載均衡客戶端VS Nginx服務(wù)端負(fù)載均衡區(qū)別

Nginx是服務(wù)器負(fù)載均衡,客戶端所有請(qǐng)求都會(huì)交給nginx,然后由nginx實(shí)現(xiàn)轉(zhuǎn)發(fā)請(qǐng)求。即負(fù)載均衡是由服務(wù)端實(shí)現(xiàn)的。Ribbon本地負(fù)載均衡,在調(diào)用微服務(wù)接口時(shí)候,會(huì)在注冊(cè)中心上獲取注冊(cè)信息服務(wù)列表之后緩存到JVM本地,從而在本地實(shí)現(xiàn)RPC遠(yuǎn)程服務(wù)調(diào)用技術(shù)。

LB分類

集中式LB

即在服務(wù)的消費(fèi)方和提供方之間使用獨(dú)立的LB設(shè)施(可以是硬件,如F5, 也可以是軟件,如nginx),由該設(shè)施負(fù)責(zé)把訪問請(qǐng)求通過某種策略轉(zhuǎn)發(fā)至服務(wù)的提供方;

進(jìn)程內(nèi)LB

將LB邏輯集成到消費(fèi)方,消費(fèi)方從服務(wù)注冊(cè)中心獲知有哪些地址可用,然后自己再從這些地址中選擇出一個(gè)合適的服務(wù)器。

Ribbon就屬于進(jìn)程內(nèi)LB,它只是一個(gè)類庫,集成于消費(fèi)方進(jìn)程,消費(fèi)方通過它來獲取到服務(wù)提供方的地址。

Ribbon默認(rèn)自帶的負(fù)載規(guī)則

lRule:根據(jù)特定算法中從服務(wù)列表中選取一個(gè)要訪問的服務(wù)

  • RoundRobinRule 輪詢
  • RandomRule 隨機(jī)
  • RetryRule 先按照RoundRobinRule的策略獲取服務(wù),如果獲取服務(wù)失敗則在指定時(shí)間內(nèi)會(huì)進(jìn)行重試
  • WeightedResponseTimeRule 對(duì)RoundRobinRule的擴(kuò)展,響應(yīng)速度越快的實(shí)例選擇權(quán)重越大,越容易被選擇
  • BestAvailableRule 會(huì)先過濾掉由于多次訪問故障而處于斷路器跳閘狀態(tài)的服務(wù),然后選擇一個(gè)并發(fā)量最小的服務(wù)
  • AvailabilityFilteringRule 先過濾掉故障實(shí)例,再選擇并發(fā)較小的實(shí)例
  • ZoneAvoidanceRule 默認(rèn)規(guī)則,復(fù)合判斷server所在區(qū)域的性能和server的可用性選擇服務(wù)器

Ribbon負(fù)載規(guī)則替換

@Configuration
public class MySelfRule {
    @Bean
    public IRule myRule(){
        return new RandomRule();
    }
}

主啟動(dòng)類

添加@RibbonClient

@SpringBootApplication
@EnableEurekaClient
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MySelfRule.class)
public class OrderMain {
    public static void main(String[] args) {
        SpringApplication.run(OrderMain.class,args);
    }
}

Ribbon默認(rèn)負(fù)載輪詢算法原理

默認(rèn)負(fù)載輪訓(xùn)算法: rest接口第幾次請(qǐng)求數(shù) % 服務(wù)器集群總數(shù)量 = 實(shí)際調(diào)用服務(wù)器位置下標(biāo),每次服務(wù)重啟動(dòng)后rest接口計(jì)數(shù)從1開始。

List<Servicelnstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE");

到此這篇關(guān)于Java Ribbon負(fù)載均衡詳細(xì)講解的文章就介紹到這了,更多相關(guān)Java Ribbon 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java 如何為文件及文件夾添加權(quán)限

    java 如何為文件及文件夾添加權(quán)限

    這篇文章主要介紹了java 如何為文件及文件夾添加權(quán)限的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • JAVA中SSM框架的搭建實(shí)現(xiàn)CRUD的方法

    JAVA中SSM框架的搭建實(shí)現(xiàn)CRUD的方法

    這篇文章主要介紹了JAVA中SSM框架的搭建實(shí)現(xiàn)CRUD的方法,小編把運(yùn)行代碼列了出來,供大家參考。
    2017-11-11
  • Java介紹多線程計(jì)算階乘實(shí)現(xiàn)方法

    Java介紹多線程計(jì)算階乘實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了Java多線程計(jì)算階乘的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • IDEA遠(yuǎn)程部署調(diào)試Java應(yīng)用程序的詳細(xì)流程

    IDEA遠(yuǎn)程部署調(diào)試Java應(yīng)用程序的詳細(xì)流程

    這篇文章主要介紹了IDEA遠(yuǎn)程部署調(diào)試Java應(yīng)用程序,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • Java字符串格式化,{}占位符根據(jù)名字替換實(shí)例

    Java字符串格式化,{}占位符根據(jù)名字替換實(shí)例

    這篇文章主要介紹了Java字符串格式化,{}占位符根據(jù)名字替換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java項(xiàng)目常見工具類詳解

    Java項(xiàng)目常見工具類詳解

    這篇文章主要為大家總結(jié)了平時(shí)在Java項(xiàng)目中使用的工具類:JWT工具類、MD5工具類、視頻點(diǎn)播工具類、公共常量工具類、日期操作工具類、Http客戶端工具類和獲取IP工具類。需要的可以參考一下
    2021-12-12
  • Java中你真的會(huì)用Constructor構(gòu)造器嗎之看完本篇你就真的會(huì)了

    Java中你真的會(huì)用Constructor構(gòu)造器嗎之看完本篇你就真的會(huì)了

    顯式初始化要求我們?cè)趯懗绦驎r(shí)就確定初始值,這有時(shí)很不方便。我們可以使用構(gòu)造器(constructor)來初始化對(duì)象。構(gòu)造器可以初始化數(shù)據(jù)成員,還可以規(guī)定特定的操作。這些操作會(huì)在創(chuàng)建對(duì)象時(shí)自動(dòng)執(zhí)行。下面文字將對(duì)該內(nèi)容做詳細(xì)介紹,需要的小伙伴請(qǐng)參考
    2021-09-09
  • Java中JDK動(dòng)態(tài)代理的超詳細(xì)講解

    Java中JDK動(dòng)態(tài)代理的超詳細(xì)講解

    JDK 的動(dòng)態(tài)代理是基于攔截器和反射來實(shí)現(xiàn)的,JDK代理是不需要第三方庫支持的,只需要JDK環(huán)境就可以進(jìn)行代理,下面這篇文章主要給大家介紹了關(guān)于Java中JDK動(dòng)態(tài)代理的超詳細(xì)講解,需要的朋友可以參考下
    2022-10-10
  • 并發(fā)編程之Java內(nèi)存模型

    并發(fā)編程之Java內(nèi)存模型

    這篇文章主要介紹了Java并發(fā)編程之內(nèi)存模型,Java內(nèi)存模型中的順序一致性,主要介紹重排序與順序一致性內(nèi)存模型,下面文章將圍繞Java內(nèi)存模型展開內(nèi)容,需要的小伙伴可以參考一下
    2021-11-11
  • SpringBoot如何讀取Resource下的文件

    SpringBoot如何讀取Resource下的文件

    這篇文章主要介紹了SpringBoot如何讀取Resource下的文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評(píng)論

嘉禾县| 仁布县| 察雅县| 江津市| 祁东县| 延吉市| 中山市| 台北市| 陵水| 阿尔山市| 汉沽区| 休宁县| 永嘉县| 砚山县| 邯郸市| 浦东新区| 乐业县| 玛沁县| 三台县| 敦煌市| 沧源| 贵阳市| 巴林左旗| 河南省| 阿拉尔市| 闵行区| 荣成市| 富锦市| 陵川县| 阜平县| 盘山县| 黑龙江省| 乐东| 五指山市| 承德县| 新巴尔虎右旗| 余江县| 双城市| 灵宝市| 陈巴尔虎旗| 湘潭市|