Spring Cloud使用指南-Ribbon

客户端负载均衡-Ribbon

目录

1、Ribbon概述
2、整合Ribbon
3、后语

1、Ribbon概述

Ribbon是基于客户端的负载均衡算法、相较于Nginx、Ribbon的负责面很窄,只对所绑定的服务提供负载均衡,他将自己注册到Eureka后、就可以获得其所绑定服务的实例列表、然后根据配置的负载算法来指定一个微服务实例干活、值得注意的是、目前的Eureka-client -2.2.1版本依赖已经内置了Ribon的依赖包、所有我们并不需要在添加新的依赖,

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

2、 整合Ribbon

当我们没有配置任何Ribbon相关内容的时候、我们访问某个服务的客户端集群也会有默认的负载均衡-轮询算法所支持,这是Eureka-Client内置了RIbbon的结果、轮询算法也是Ribbon的默认算法、那么我们该如何显式的整合Ribbon、比如说指定一个其他的算法如随机算法。

2.1、配置随机算法实例

和普通Bean配置一样、将其实例注入IOC容器即可、
但需要注意的是、该实例的配置类不能在主启动类的同级目录下、否则在多服务依赖环境下将无法实现算法定制功能、

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

2.2、启动类配置

比如下面的配置、绑定了一个服务、并为其注入了配置类MyRule、该类里就配置了我们的自定义算法。

//绑定一个服务名、为其指定其负载均衡算法
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MyRule.class)

至此、Ribbon 的整合就完成了

3、后语

Ribbon提供的几种算法各有自己的优点、选择自己适合的即可、当然你也可以自己实现一个算法、或者重写轮询算法、使用CAS。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值