【Eureka+Ribbon】实现负载均衡

续上篇文章的项目结构:

【Eureka】建立注册中心、消费者、提供者_Kanseui ?的博客-CSDN博客

Ribbon介绍

Ribbon是一款负载均衡器,可以自动地帮消费者去请求,负载均衡算法:轮询、随机等。当Ribbon和Eureka配合使用时,可以用注册中心获取服务提供者,并基于负载均衡算法,请求其中一个服务提供者。

Ribbon依赖添加在消费者的pom文件中

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

Ribbon的负载均衡

(一)轮询

消费者的启动类中加入@LoadBalanced注解

    @Bean
    @LoadBalanced //负载均衡注解
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

就实现了默认的轮询,平均地在每个服务提供者访问

(二)随机

a.在启动类加RandomRule的Bean

这种方法是,在所有的服务提供者中随机分配。

    @Bean
   public RandomRule randomRule(){
       return new RandomRule();
   }

b.在yml文件中单独配置

针对某个服务名的服务作随机分配,如下图sevice-product就是一个服务名spring.application.name

#负载均衡策略:局部策略【专属定制】
#调用服务的名称
sevice-product:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
    #指定需要直连的服务
    listOfServers: http://localhost:7070,http://localhost:7071

测试时,消费者不通过eureka,直接访问提供者

首先要把消费者pom文件中的netflix-eureka-client删掉,保留ribbon

然后在消费者的yml文件添加

#告诉ribbon要关闭eureka
ribbon:
  eureka:
    enabled: false #false关闭 true开启

就可以在不通过eureka的前提上,直接访问服务提供者了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值