Ribbon策略改变实现步骤(基于Eureka服务注册中心)

前言

Ribbon作为服务调用的作用,自带的默认负载均衡机制是轮询机制也就是轮流访问机制。当然有时候并不是业务上都需要这种机制,这时候就需要改变。

机制类型

RoundRobinRule
轮询
RandomRule
随机
RetryRule
先进行轮询策略获取服务,如果失败则进行重试,再获取可用服务
WeightedResponseTimeRule
对轮询的扩展,响应速度越快的实例选择权重越大,越容易被选择。
BestAvailableRule
会先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,然后选择一个并发量最小的服务
AvailabilityFilteringRule
先过滤掉故障实例,再选择并发较小的实例
ZoneAvoidanceRule
复合判断server所在的区域的性能和server的可用性选择服务器

负载机制改变

前提是要有基本的微服务模块要有,所以只需要添加一个配置组件,将新的负载规则添加进去修改即可,这里的新配置规则类需要建在启动类的上一级包下,不得与主启动类在同一包及以下子包中。

Ribbon策略改变实现步骤(基于Eureka服务注册中心)
接着在主启动类上添加一行:

@RibbonClient(name = “XXXX(生产者服务模块名称)”,configuration = MyBestRule.class)

值得注意的是生产者微服务模块名需要大写,否则有可能会失效,机制将无法更改。configuration属性则是我们所写的新规则!
这里我们将轮询负载机制更改成随机负载机制,再重新启动后更改机制就生效了

; 注意事项:

1、新建配置规则类名不可以是MyRule
2、不得与主启动类在同一包及以下子包中
3、新建的配置类是在消费者模块中的,不可与生产者弄混淆

Original: https://blog.csdn.net/qq_45790384/article/details/128741082
Author: 发飙的恒星
Title: Ribbon策略改变实现步骤(基于Eureka服务注册中心)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/812784/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球