一、简单介绍Nacos 和之前介绍过的 Eureka 都是注册中心解决的问题和 Eureka 也一样二、使用方法这里省略 nacos 的安装方法了1、引入Spring Cloud Alibaba 依赖在父工程的pom文件中的 中引入Spring Cloud Alibaba的依赖:propertiesspring-cloud-alibaba.version2022.0.0.0-RC2/spring-cloud-alibaba.version/propertiesdependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba.version}/versiontypepom/typescopeimport/scope/dependency注意Spring Boot 和Spring Cloud的版本是有⼀定对应关系的. Spring Cloud Alibaba也遵循 Spring Cloud的标准,在引入依赖时,⼀定要确认各个版本的对应关系. Spring Cloud Alibaba和Spring Cloud版本对应关系, 参考官方文档:https://sca.aliyun.com/docs/2022/overview/version-explain/2、在 服务消费者order-service 和 服务提供者product-service 中引入nacos依赖和 LoadBalancer 依赖dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-loadbalancer/artifactId /dependency3、在 服务消费者order-service 和 服务提供者product-service 的配置文件中配置 Nacos 地址(这里的地址为我服务器上nacos的地址)spring: application: name: product-service cloud: nacos: discovery: server-addr: 1.14.171.202:88484、远程调用1、修改IP为项目名package com.linzhixin.order.service; import com.linzhixin.order.mapper.OrderMapper; import com.linzhixin.order.model.OrderInfo; import com.linzhixin.order.model.ProductInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; Service public class OrderService { Autowired private OrderMapper orderMapper; Autowired private RestTemplate restTemplate; public OrderInfo selectOrderById(Integer orderId) { OrderInfo orderInfo orderMapper.selectOrderById(orderId); String url http://product-service/product/ orderInfo.getProductId(); ProductInfo productInfo restTemplate.getForObject(url, ProductInfo.class); orderInfo.setProductInfo(productInfo); return orderInfo; } }2、为 restTemplate 添加负载均衡注解 LoadBalancedpackage com.linzhixin.order.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; Configuration public class BeanConfig { Bean LoadBalanced public RestTemplate restTemplate() { return new RestTemplate(); } }5、启动 order-service服务 与 product-service 服务观察 nacos,可以观察到6、发起请求测试测试接口:http://127.0.0.1:8080/order/17、启动多个实例测试负载均衡