springCloud-Alibaba——nacos的服务中心(nacos-discovery)使用与微服务集成

目录

1、分析问题:

2、微服务注册与发现:

(1)原理图:

(2)说明:

3、服务注册与发现(nacos):

4、微服务注册到nacos:

(1)添加依赖:

(2)修改配置文件:

(3)修改启动类:

(4)启动测试:


1、分析问题:

通过自己的商品微服务、订单为服务,我们似乎已经很好的解决了服务之间相互访问的url硬编码的问题,但是还会存在以下问题:

如果商品微服务的ip地址发生了变更,订单微服务中的配置文件也需要跟着修改;

如果商品微服务有多个,那么在订单微服务中配置文件中的url地址又该如何填写;

以上两个问题可以通过服务注册于发现(nacos)的服务注册、发现的机制来完成。

2、微服务注册与发现:

(1)原理图:

springCloud-Alibaba——nacos的服务中心(nacos-discovery)使用与微服务集成

(2)说明:

服务提供者将服务注册到注册中心;

服务消费者通过注册中心查找服务;

查找到服务后进行调用(这里就是无需硬编码url的解决方案);

服务的消费者与服务注册中心保持心跳连接,一旦服务提供者的地址发生变更时,注册中心会通知服务消费者;

实质上相当于服务提供者与服务消费者之间的沟通是通过一个别名的方式实现的,url与别名的映射关系都存储在注册中心内。

3、服务注册与发现(nacos):

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

4、微服务注册到nacos:

(1)添加依赖:

springCloud-Alibaba——nacos的服务中心(nacos-discovery)使用与微服务集成

(2)修改配置文件:

在配置文件中原有服务端口基础上,增加服务名称、nacos配置等信息。如果nacos是单机就按照图片中配置即可,如果nacos是集群,那么就写多个nacos的IP和端口号,用英文逗号分隔即可。

springCloud-Alibaba——nacos的服务中心(nacos-discovery)使用与微服务集成

(3)修改启动类:

因为商品微服务是nacos的client。因此在项目启动类上添加注解@EnableDiscoveryClient。

springCloud-Alibaba——nacos的服务中心(nacos-discovery)使用与微服务集成

(4)启动测试:

先启动nacos服务注册与发现中心,然后再启动微服务项目,然后能够正常访问到原来接口返回信息即可。并且访问nacos的服务列表会发现有一个刚刚启动的商品微服务在nacos中注册的对应服务:

springCloud-Alibaba——nacos的服务中心(nacos-discovery)使用与微服务集成