实战二:nacos服务注册与发现,openfeign服务调用

一,参照上一篇创建好微服务结构后,按业务需求编写各微服务逻辑

二,服务注册

  1,安装nacos:下载,解压,运行startup.cmd

  2,访问 http://localhost:8848/nacos ,登录账号密码均为nacos,可以看到注册的服务列表及配置列表

  3,上一节在微服务中已经引入了nacos服务注册依赖和openfeign依赖,如下:(nacos还可以作为配置中心,这里先只引入服务注册依赖,不引入配置中心依赖)

注1:此入只引入了nacos服务注册依赖,未引入nacos配置中心依赖
<
dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
  注2:openfeign用于微服务间的httprest调用 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>

  4,配置nacos服务注册信息

spring.application.name=user
spring.cloud.nacos.server-addr=localhost:8848
spring.cloud.nacos.discovery.server-addr=${spring.cloud.nacos.server-addr}

  5,重启微服务,刷新http://localhost:8848/nacos,可以看到刚刚的微服务已经注册到了nacos了

三,微服务间调用

  1,如用户服务需要调用商品服务接口,取得商品服务的信息,则在用户服务入口 文件开启@EnableFeignClients注解

  2,新建clients包,创建ProductClient接口,参照商品服务编写接口,参数与路径要与商品服务一致,可以依据商品服务直接拷贝其方法定义的代码

  3,在ProductClient类上添加@FeignClient(value = "product")注解,即指定需要连接的服务名

  4,在用户服务的controller中注入ProductClient,调用接口中定义的方法,取得商品数据

注:openfeign已经集成了ribbon,自动进行负载均衡

posted @ 2020-09-02 15:48  王东波  阅读(292)  评论(0编辑  收藏  举报