引入依赖

// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies
import 'org.springframework.cloud:spring-cloud-dependencies:2023.0.0'
// 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'

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐