微服务新秀之Nacos,看了就会,我说的( 五 )


  • 步骤1 - 新建父工程
pom.xml如下:
微服务新秀之Nacos,看了就会,我说的文章插图
  • 步骤2 - 新建服务生产者
pom.xml如下:
微服务新秀之Nacos,看了就会,我说的文章插图
application.yml如下:
微服务新秀之Nacos,看了就会,我说的文章插图
启动类如下:
微服务新秀之Nacos,看了就会,我说的文章插图
ProviderController.java如下:
微服务新秀之Nacos,看了就会,我说的文章插图
以上便是生成者的代码 , 其中关键点在于:1. 引入 spring-cloud-starter-alibaba-nacos-discovery jar包 2. 在启动类标注 @EnableDiscoveryClient 注解 3. 在 application.yml 中配置nacos服务中心的地址 4. 在 controller 中暴露服务
  • 步骤3 - 新建服务消费者
pom.xml如下:
微服务新秀之Nacos,看了就会,我说的文章插图
application.yml如下:
微服务新秀之Nacos,看了就会,我说的文章插图
启动类如下:
微服务新秀之Nacos,看了就会,我说的文章插图
ConsumerController.java如下:
微服务新秀之Nacos,看了就会,我说的文章插图
以上便是消费者的代码 , 其中关键点在于:1. 引入 spring-cloud-starter-alibaba-nacos-discovery jar包 2. 在启动类标注 @EnableDiscoveryClient 注解 3. 在 application.yml 中配置nacos服务中心的地址 4. 在 controller 中使用RestTemplate 调用服务 。
以上我们可以看到在Nacos中注册了两个服务 , 分别是 service-provider 和 service-consumer , 我们也可以在Nacos控制台看到:
微服务新秀之Nacos,看了就会,我说的文章插图
同样 , 服务注册也支持命名空间的隔离 , 我们只需在application.yml中添加配置:
server:port: 8083spring:application:name: service-consumercloud:nacos:discovery:server-addr: 127.0.0.1:8848# 命名空间namespace: dfa1c276-69f7-47d6-9903-6850b9c248f7cluster-name: DEFAULTFeign 的使用Feign是Netflix开发的声明式、模板化的HTTP客户端 , Feign可以帮助我们更快捷、优雅地调用HTTP API 。
Feign的使用方式也十分简单 , 几个步骤如下:
  • 步骤1
声明 Feign 客户端:
@FeignClient(value = "http://kandian.youth.cn/index/service-provider") //生产者名称public interface ConsumerService {@GetMapping("/getData")String getDate();}
  • 步骤2
在 启动类 添加 @EnableFeignClients 注解
  • 步骤3
在 controller 层进行调用:
@RestControllerpublic class ConsumerController {@Autowiredprivate ConsumerService consumerService;@GetMapping("/getData")public String getData() {String date = consumerService.getDate();return "consumer consumer ---" + date;}}结果:
微服务新秀之Nacos,看了就会,我说的文章插图