美文网首页
SpringCloud系列之负载均衡Ribbon·4-给消费者添

SpringCloud系列之负载均衡Ribbon·4-给消费者添

作者: 那钱有着落吗 | 来源:发表于2021-03-30 09:46 被阅读0次

ribbon相对来说较为简单,这节主要是让我们去检测ribbon的能力,其实添加ribbon的功能和配置都极为简单,加个依赖,加个负载均衡的注解即可

用于测试的话,首先我们得需要一个注册中心,两个服务提供者,一个加了ribbon的服务消费者,这样才可以测试负载均衡

下面是服务提供者的代码,这个接口主要用于展示出端口号,这样我们方便看到负载均衡的效果。

@RestController
public class Controller {

    @Value("${server.port}")
    private String port;

    @GetMapping("sayHi")
    public String sayHi(){
        return "当前的端口号是:"+port;
    }
}

ribbon的依赖

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

ribbon服务是在启动类加上注解:

@SpringBootApplication
@EnableDiscoveryClient
public class RibbonConsumerApplication {


    @Bean
    @LoadBalanced
    public RestTemplate template(){
        return new RestTemplate();
    }

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

}

可以看到相比于一般的服务消费者,我们在使用ribbon的时候多一个 @LoadBalanced
注解。

下面是ribbon消费者的接口代码:

@RestController
public class Controller {

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/sayHi")
    public String sayHi(){
        return restTemplate.getForObject("http://eureka-client/sayHi",String.class);
    }
}

然后服务提供者以不同的端口启动,启动注册中心,ribboon消费者,都启动完毕之后我们查看一下服务的注册列表:

image.png

可以看到eureka的服务提供者注册了两个不同端口号的实例,还注册了一个ribbon的服务消费者实例,这个时候我们多次调用ribbon的接口,会发现请求都分别到两个不同的消费者,而不会一直都是一个消费者那儿,这样就证明我们使用到了ribbon最基本的负载均衡的功能了。

image.png
image.png

相关文章

网友评论

      本文标题:SpringCloud系列之负载均衡Ribbon·4-给消费者添

      本文链接:https://www.haomeiwen.com/subject/qqubhltx.html