分布式-Ribbon 负载均衡

分布式-Ribbon 负载均衡

负载均衡顾名思义,通过一些策略,把大量的请求分配到不同的消费者上,达到负载均衡
本文章接上篇(分布式-Feign 服务调用
已有资源:注册中心,消费者,服务提供者*2
项目列表:
在这里插入图片描述
说明:
服务提供者两个项目唯一不同的是端口不同,其他的相同(包括应用名也相同)

配置位置:两个服务提供者

配置开始:

1.引入依赖

 <!-- Ribbon -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
        </dependency>

2.增加配置类:RibbonConfig

@Configuration
public  class RibbonConfig {

    @Bean
    public IRule myRibbonRule(){
    //myRibbonRule是因为防止bean重名
        return new RandomRule(); //分配策略:随机选择一个server
//        return new BestAvailableRule(); //分配策略:选择一个最小的并发请求的server,逐个考察Server,如果Server被tripped了,则忽略
//        return new RoundRobinRule(); //分配策略:轮询选择,轮询index,选择index对应位置的server
//        return new WeightedResponseTimeRule(); //分配策略:根据响应时间分配一个weight(权重),响应时间越长,weight越小,被选中的可能性越低
//        return new ZoneAvoidanceRule(); //分配策略:复合判断server所在区域的性能和server的可用性选择server
//        return new RetryRule(); //分配策略:对选定的负载均衡策略机上重试机制,在一个配置时间段内当选择server不成功,则一直尝试使用subRule的方式选择一个可用的server
    }

    @Bean
    public IPing ribbonPing() {
        return new PingUrl();
    }

    @Bean
    public ServerListSubsetFilter serverListFilter() {
        return new ServerListSubsetFilter();
    }
}

3.启动接口增加 @RibbonClient(name = “RibbonConfig”, configuration = RibbonConfig.class)

@RibbonClient(name = "RibbonConfig", configuration = RibbonConfig.class)
@EnableFeignClients
@EnableEurekaClient
@SpringBootApplication
public class ServiceB2Application {

    public static void main(String[] args) {
        SpringApplication.run(ServiceB2Application.class, args);
    }

}

4.测试:启动服务注册,消费者,服务器提供者*2 ,访问消费者接口

在这里插入图片描述

在这里插入图片描述

不断访问,可访问到两个服务提供者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值