1.Ribbon概念

Spring Cloud 是基于Netflix Ribbon实现的一套客户端,负载均衡工具,服务于客户端的软件负载均衡算法和服务调用。Ribbon内置多中规则(简单轮询,随机,权重等等)去连接机器,默认是轮询,可以自定义负载均衡算法。

2.Ribbon 与 Nginx的区别

Nginx:作为服务器负载均衡,客户端所有请求都会交给nginx,然后由nginx实现转发请求,负载均衡是由服务端实现的。
Ribbon:本地客户端负载均衡,在调用服务接口时,会在注册中心上获取注册信息服务列表之后缓存到JVM本地,从而在本地实现RPC远程调用技术。

3.自定义负载均衡策略

这里定义随机负载均衡策略
引入ribbon依赖

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

新建一个包 **项目同级建
在这里插入图片描述

把随机对象注入

@Configuration
public class MySelfRule {
    @Bean
    public IRule myRule() {
        return new RandomRule(); // 定义轮询
    }

最后在启动类添加注解

@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MySelfRule.class)

最后启动项目请求测试。。。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐