通过Spring Cloud Ribbon的封装,我们在微服务架构中使用客户端负载均衡调用非常简单,只需要两步:
- 服务提供者只需要启动多个服务实例并注册到一个注册中心或多个相关联的服务注册中心。
- 服务消费者直接通过调用被@LoadBalanced注解修饰过的RestTemplate来是实现面向服务的接口调用。
如果需要自己的规则,那么可以实现IRule,重写choose方法。
git地址:git@github.com:alfredhua/spring-cloud-manage.git
server模块,server2模块,m-consume-ribbon模块
服务端:启动俩个同样的server即可
引入jav包
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-ribbon', version: '2.2.3.RELEASE'
配置LoadBalanced
package com.consume.config;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
/**
* @author guozhenhua
* @date 2020/06/21
*/
@Configuration
public class Config {
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
}