关于nacos 服务端 的下载 安装,具体查看博客:
Linux:
https://blog.csdn.net/lettuce_/article/details/100935028
Windows:
https://blog.csdn.net/lettuce_/article/details/103200781
nacos-client 配置
1. 添加Module
2. 修改pom 文件
新增
在此基础上:
提供者
1. 创建 service/controller
2. 修改 application配置文件
server:
port: 8052
spring:
application:
name: product-alibaba-nacos-provider
cloud:
nacos:
discovery:
server-addr: 172.168.3.101:8848
3. 在启动类中添加注解 @EnableDiscoveryClient
4. 启动项目,查看页面(先保证nacos 服务器端已启动)
消费者
1. 创建service/controller
2. 创建 Feign ,调用提供者
调用接口
@FeignClient(value = "product-alibaba-nacos-provider", fallback = ProductClientFeignFallback.class)// 被调用的模块名
public interface ProductClientFeign {
@GetMapping(value = "/products") //被调用的模块的接口
public List<Product> listProdcuts();
}
fallback
@Component
public class ProductClientFeignFallback implements ProductClientFeign {
@Override
public List<Product> listProdcuts() {
Product product=new Product();
product.setId(0);
product.setName("熔断出错:Feign调用product-alibaba-nacos-provider出错");
List<Product> list=new ArrayList<>();
list.add(product);
return list;
}
}
3. 修改service,使之调用Feign 接口
@Service
public class ProductService {
@Autowired
ProductClientFeign productClientFeign;
public List<Product> listProducts(){
return productClientFeign.listProdcuts();
}
}
4. 配置application.yml
server:
port: 8053
spring:
application:
name: product-alibaba-nacos-sentinel
cloud:
nacos:
discovery:
server-addr: 172.168.3.101:8848
5. 创建前端显示页面,完整目录结构如下
6. 在启动类中添加 @EnableDiscoveryClient 和 @EnableFeignClients
7. 启动项目 ,可以看到8053的消费者 调用到了 8052 的提供者