配置类和配置文件修改ribbon的负载均衡策略

2023-11-04

Ribbon框架自带的负载策略类

配置类修改负载均衡策略

第一步:新建一个不会被@ComponentScan组件扫描到的包,如:com.ribbon
第二步:在该包下新建自己的负载均衡算法的规则类

package ribbon;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class RandonRuleConfig {
    //方法名一定要为iRule
    @Bean
    public IRule iRule(){
        return new RandomRule();
    }
}

第三步:主启动类上添加注解:@RibbonClient

package per;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.ribbon.RibbonClient;
import org.springframework.cloud.netflix.ribbon.RibbonClients;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
import ribbon.RandonRuleConfig;

@SpringBootApplication
@RibbonClients(value = {@RibbonClient(name = "stock-service",configuration = RandonRuleConfig.class)}) //配置负载均衡策略
public class OrderApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class,args);
    }

    @Bean
    @LoadBalanced // 负载均衡器注解,nacos的服务调用依赖于负载均衡(nacos无法将服务名称转化为服务地址,需要使用负载均衡器,默认使用轮询的方式)
    public RestTemplate restTemplate(RestTemplateBuilder builder){
        RestTemplate RestTemplate = builder.build();
        return RestTemplate;
    }
}

配置文件修改负载均衡策略

stock-service: #在服务消费者配置服务提供者的服务名
  ribbon:
   NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

stock-service:应用名称
NFLoadBalancerRuleClassName后必须写全路径,上面代码修改策略为随机com.netflix.loadbalancer.RandomRule

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

配置类和配置文件修改ribbon的负载均衡策略 的相关文章

  • Lua UnPack函数用法

    这篇文章主要介绍了Lua UnPack函数用法实例 unpack它接受一个数组 table 作为参数 并默认从下标1开始返回数组的所有元素 local info 1 2 3 4 5 6 local a b c d e f unpack in
  • jenkins_svn_maven持续集成

    详解Jenkins svn maven 项目持续集成 第一步 由于刚刚接触jenkins 并不知道他是个什么东西 首先百度一下 然后进入官网 下载安装包 第二步 windows 安装 下载完了 打开里面有2个文件 setup exe Jen
  • JVM内存模型详解

    目录 1 JVM整体架构 2 JVM运行时内存 2 1 PC程序计数器 2 2 虚拟机栈 2 2 1 什么是栈帧 2 2 2 局部变量表 2 2 3 操作数栈 2 2 4 动态链接 2 2 5 方法返回地址 2 3 本地方法栈 2 4 堆
  • LNK1104 无法打开文件 libboost_system-vc142-mt-gd-x64-1_74.lib

    LNK1104 无法打开文件 libboost system vc142 mt gd x64 1 74 lib 问题 解决

随机推荐