16、Nacos 教程 - 服务发现之数据模型

前言

服务发现的数据模型。

1. 服务发现数据模型

Nacos在经过阿里内部多年生产经验后提炼出的数据模型,则是一种服务-集群-实例的三层模型,这样基本可以满足服务在所有场景下的数据存储和管理。

 

命名空间

用于进行租户粒度的配置隔离,命名空间不仅适用于nacos的配置管理,同样适用于服务发下。Namespace的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置,服务)隔离等。

服务

提供给客户端的软件功能,通过预定义接口网络访问。

实例

提供一个或多个服务的具有可访问网络地址的进程,启动一个服务,就产生一个服务实例。

元信息

nacos数据描述信息,如服务版本,权重,容灾策略,负载均衡策略,鉴权配置,各种自定义标签,从作用范围来看,分为服务级别的元信息,集群的元信息以及实例的元信息。

元信息能够让nacos更具备扩展性,用于可以自定义数据用于描述实例,服务,集群等
 

集群

服务实例的集合,服务实例组成一个默认集群,集群可以被进一步按需求划分,划分的单位可以是虚拟集群,相同集群下的实例才能相互感知。

应用通过Namespace,Service ,Cluster(DEFAULT)的配置,描述了该服务向哪个环境的哪个集群注册实例。

spring:
  application:
    name: provider
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        namespace: 869a0c6d-267e-4aa1-96cb-552cb1632c72开发环境
        cluster-name: DEFAULT集群的名称(默认为DEFAULT)

TIPS: 集群作为实例的隔离,同一个集群的实例才能互相感知。
TIPS: namepsace,cluster-name 如果不填写将会采用默认值,namespace的默认命名空间public,cluster-name的默认值是DEFAULT集群

2. 将实例注册到自定义的命名空间和集群

在配置里指定命名空间和集群后,重启实例。
 

此时可以看到dev下面注册了provider服务,并且该服务下包含一个TEST集群