讲述
对于 Ribbon 来说,有使用过 Spring Cloud 肯定不会陌生,它是服务之间通信的一种方式,通常配合Hystrix一起使用,虽然Hystrix已经成为历史,但是 Ribbon 还在,那么我这边就讲解一下它的使用。
正文
Ribbon是Spring Cloud的一个组件, 它可以让我们使用一个注解就能轻松的搞定负载均衡。
至于什么是负载均衡,说实话我是想详细写一写的,但是通过资料整理后发现,写的又好又详细的大牛有的是,我就不在这班门弄斧了,本篇博客还是写一写它的使用。
前置步骤
首先我们需要将一个消费者两个生产者注册到注册中心Nacos上。ps(两个生产者的服务名称必须相同)
如图:
若此操作有疑虑,请参考上一篇 Nacos 入门案例(一)
使用
在消费端进行以下配置:
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
将RestTemplate交给容器管理时,加上注解 @LoadBalanced
紧接着利用消费者调取生产者的服务,由于消费者和生产者都已经将自身的服务发布到了 Nacos 上,所以消费者的内存中会有生产者的服务信息,此时根据生产者的服务名调用即可。
生产者Controller