SpringCloud负载均衡Ribbon核心组件IRule

 时间:2024-11-03 08:25:19

1、IRule是根据特定算法从服务列表中选取一个要访问的服务。Ribbon有如下图IRule算法的实现:

SpringCloud负载均衡Ribbon核心组件IRule

2、Spring Ribbon的负载均衡默认实现了一些IRule的算法。各个不同的IRule算法的解释如下图所示。

SpringCloud负载均衡Ribbon核心组件IRule

3、Ribbon默认的负载均衡策略是轮询策略,我们可以更改这个默认规则。package com.gwol熠硒勘唏f.springcloud.cfgbeans;@Configurationpublic class ConfigBean { @Bean @LoadBalanced public RestTemplate getRestTemplate() { return new RestTemplate(); } @Bean public IRule myRule() { return new RandomRule(); }}

SpringCloud负载均衡Ribbon核心组件IRule

4、现在我们测试一下是否是随机访问的策略模式。从刷新浏览器访问的结果可以看出访问的微服务是随机访问的。

SpringCloud负载均衡Ribbon核心组件IRuleSpringCloud负载均衡Ribbon核心组件IRule

5、接下来测试一下RetryRule策略,这个策锐瞒噌澡略会按照RoudRobinRule的策略获取服务,如果获取服务失拎翮堆腼败,然后选择一个并发量小的服务。现在如果三个提供者都正常的话就会是轮询策略。访问的顺序是有顺序的。

SpringCloud负载均衡Ribbon核心组件IRule

6、现在我们关闭其他的一个提供者服务的话,这个策略会自动不去访问已经挂掉的服务了。现在访问关掉的服务会出现页面访问错误,隔断时间之后Ribbon会自动不去访问这个挂掉的服务了。

SpringCloud负载均衡Ribbon核心组件IRuleSpringCloud负载均衡Ribbon核心组件IRule
  • 《正当防卫3》主线:欢迎回家攻略
  • 魔兽RPG《夜之痕》名词术语介绍
  • taptap游戏时长统计怎么设置
  • 怎么修改steam的预计下载速度
  • 灰烬重生火之高兴怎么拿
  • 热门搜索
    面条怎么做好吃家常做法大全 怎么去除粉刺 人生图片大全 怎么练三角肌 衣柜效果图大全2020款 老熟妇牲交大全视频中文 牛肉片的做法大全 罗汉鱼苗怎么养 家用烤箱食谱大全 人物图片大全女