引入依赖
// https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery
implementation 'com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2021.1'
在启动类添加@LoadBalanced注解
@LoadBalanced
public RestTemplate restTemplate(){return new RestTemplate();}
Controller调用restTemplate
// RestTemplate调用需要一个负我均衡器
//1、获取msb-stock对应的服务列表 2、选择一个服务进行调用
//我们整合了Ribbon 实现了扩展点 LoadBalancerInterceptor
//它做的事情线是将我们asb-stock 换为我Ilocalhost:11001
String result = restTemplate.getForObject( urt: "http://msb-stock/stock/reduce/” + productId,String.class)
nacos-server
服务端--建立GRPC连接,注册实例
消费端--服务启动查询服务列表,ribbon负载均衡器调用相应服务
自定义负载均衡器
ribbon已经停更
loadbalance可以替代ribbon
添加依赖包:
// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-loadbalancer
implementation 'org.springframework.cloud:spring-cloud-starter-loadbalancer:4.1.2'