• 服务注册:

以商品服务item-service为例

我们把item-service注册到Nacos,步骤如下:

  1. 父工程需要添加Spring Cloud及Spring Cloud Alibaba的版本约束

  2. 因为我们安装的是2.4.0版本的nacos,Spring Boot默认使用的Nacos比该版本低,所以需要在父pom.xml中约定nacos-client版本,如下:

在item-service的pom.xml中添加依赖:

配置Nacos:在item-service的application.yml中添加nacos地址配置:

注意:修改nacos的ip和端口

最后启动服务实例,在控制台看到 Success to connect to server [192.168.101.68:8848] on start up, connectionId ... 就表示注册成功

访问nacos控制台,可以发现服务注册成功....................

  • 服务发现:
    以购物车发现商品服务为例cart-service
    服务的消费者要去nacos订阅服务,这个过程就是服务发现,步骤如下:
  1. 引入依赖:
    服务发现除了要引入nacos依赖以外,由于还需要负载均衡,因此要引入SpringCloud提供的LoadBalancer依赖。我们在cart-service中的pom.xml中添加下面的依赖:

可以发现,这里Nacos的依赖与服务注册时一致,这个依赖中同时包含了服务注册和发现的功能。因为任何一个微服务都可以调用别人,也可以被别人调用,即可以是调用者,也可以是提供者。因此,等一会儿cart-service启动,同样会注册到Nacos

  1. 配置Nacos地址
    在cart-service的application.yml中添加nacos地址配置:
  • 使用OpenFeign调用服务
  1. 在消费者端即cart-service服务的pom.xml中引入OpenFeign的依赖和loadBalancer依赖:

  2. 根据访问接口编写OpenFeign客户端
    在cart-service中,定义一个新的接口,该接口将来通过OpenFeign去访问商品服务中ItemController类的方法,所以参考商品服务的ItemController类去编写Feign接口

备注:

在业务层调用即可

最后,我们在cart-service的CartApplication启动类上添加注解,启动OpenFeign功能:

服务注册与发现和调用服务的过程总结如下: