修改Ribbon默认负载规则rule
发布日期:2021-06-30 21:31:37
浏览次数:2
分类:技术文章
本文共 1475 字,大约阅读时间需要 4 分钟。
场景
在spring cloud gateway中,新增了负载均衡策略(修改同理),大多情况是使用“service.ribbon.NFLoadBalancerRuleClassName=IRule.class”进行配置,这种方式只针对单个服务,因为我们服务比较对,单个服务配置太过繁琐,所以想通过修改Ribbon的默认配置达到目的。
方案
通过查找文档:
发现@RibbonClients标签,是对Ribbon的默认配置修改。
实现如下:
- 新建默认配置,设置ribbonRule方法设置默认负载规则,还可以使用ribbonPing、ribbonServerList、serverListFilter方法配置其他默认参数,这里就不说了,请自己探索。
import com.lizz.gateway.loadbalancer.VersionRoundRobinRule;import com.netflix.client.config.IClientConfig;import com.netflix.loadbalancer.IRule;import org.springframework.beans.factory.annotation.Configurable;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/** * @description: 调整ribbon默认配置 * 原始默认org.springframework.cloud.netflix.ribbon.RibbonClientConfiguration * @author: lizz */@Configuration(proxyBeanMethods = false)public class RibbonConfiguration { @Bean public IRule ribbonRule() { //自定义负载规则 return new VersionRoundRobinRule(); }}
- 使用@RibbonClients启用Ribbon默认配置
import com.liubike.gateway.config.RibbonConfiguration;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.netflix.ribbon.RibbonClients;/** * 程序启动类 * * @author: lizz */@SpringBootApplication@RibbonClients(defaultConfiguration = RibbonConfiguration.class)public class GatewayApplication { public static void main(String[] args) { SpringApplication.run(GatewayApplication.class, args); }}
转载地址:https://lizz6.blog.csdn.net/article/details/110199142 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月20日 00时58分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
图解《金字塔原理》,7步掌握其精华!
2019-05-01
数据分析入门选择Python还是SQL?七个常用操作对比!
2019-05-01
最后一台,i7+6核电脑
2019-05-01
redis五种基本数据类型
2019-05-01
springboot整合redis框架
2019-05-01
以不同业务,redis分库概念
2019-05-01
使用redis实现订阅功能
2019-05-01
Redis主从配置
2019-05-01
Redis哨兵机制
2019-05-01
RedisRDB持久化机制
2019-05-01
哨兵机制服务器环境准备
2019-05-01
携程Apollo动态配置日志级别
2019-05-01
SpringBoot整合Redis事务
2019-05-01
项目整合一级缓存和二级缓存
2019-05-01
自定义注解和aop抽取重复代码
2019-05-01
互联网API开放平台安全设计-基于OAuth2.0协议方式
2019-05-01
URL特殊字符转码
2019-05-01
为什么接口需要加密传输
2019-05-01
对称加密整个过程
2019-05-01
java内存模型
2019-05-01