# Nacos使用说明

# 概述

# 配置

# 引入依赖

    <!-- nacos配置中心依赖   -->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>

    <!-- nacos服务发现依赖   -->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>

# yml配置项

spring:
  cloud:
    #naocs配置项
    nacos:
      # nacos配置中心信息
      config:
        # nacos上的配置文件格式
        file-extension: yml
        # 和nacos的dataId保持一致
        prefix: hos-test
        # 和nacos的groupId保持一致
        group: hos
        # nacos的地址,多个以英文逗号分割
        server-addr: 127.0.0.1:8848
        # nacos 的命名空间
        namespace: nacos-test
      # nacos 服务注册中心信息
      discovery:
        group: hos
        server-addr: 127.0.0.1:8848
        namespace: nacos-test

说明

  • spring.cloud.nacos:nacos注册中心与配置中心相关的配置项,主要配置nacos的地址,命名空间、group等信息。

# 控制台

nacos-index.png

# 命名空间

命名空间的设计是Nacos用于进行多环境、多租户(多个共同使用Nacos的用户)数据(配置和服务)隔离的,类似于Java的包名。 不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。常用场景是不同环境配置的区分隔离, 例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

nacos-namespace.png nacos-namespace-create.png

# 配置管理

配置管理主要是对应用程序的配置文件进行管理的功能模块。

配置文件

  • 应用程序在启动和运行的时候往往需要读取一些配置信息,比如:数据库连接参数、启动参数等,这些配置信息伴随应用的整个生命周期, 应用程序对这些配置信息只读,不进行更改。同一份程序在不同的环境(开发,测试,生产)需要有不同的配置。

  • 对于重复冗余的配置信息,在不同的环境都需要有相同的配置,此时可以使用 配置管理 功能将这些信息放在同一个配置文件中进行统一的管理。

nacos-config.png

如图所示

  • 1 表示配置管理模块功能菜单
  • 2 表示命名空间,在不同的命名空间里的 配置文件 信息。

# 配置列表

配置列表界面中展示了不同 命名空间 下的配置集列表,可点击左上角的不同 命名空间 进行切换。

nacos-config-list.png

nacos-config-create.png

新建配置

  • Data Id:新建配置 在此命名空间里的唯一标识,一般为应用程序项目名称。
  • GROUP:新建配置 在此命名空间里的分组。
  • 配置格式:新建配置 的文件格式,根据业务自行选择。

nacos-config-import.png

导入配置

  • 可以将一些或迁移的配置文件导入到当前的 命名空间 中。
  • 如果导入的文件与当前命名空间里的文件相同,则对于两个文件里相同配置导入时有 终止导入、跳过、覆盖三种方式。

nacos-config-copy.png

克隆

克隆是对某个文件进行复制操作,可以对复制后的文件,进行Data Id 和 GROUP 的修改。

  • 目标空间:非复制后的文件分配需要的 命名空间。
  • 相同配置:与导入配置的 ‘相同配置’ 一样。

# 历史版本

  • 历史版本界面,可以查询某个配置文件的每次修改记录。

nacos-config-history.png

注意

  • 历史版本只显示某个配置文件以往的版本,即当前最新信息以往的修改记录。
  • 比如A配置,新建一次、修改一次,则在历史版本中会有两条记录,分别为新建版本,第一次修改时版本。 最新的版本即最后一次修改后的配置,是显示在 配置列表 中。

  • 在配置的历史版本中,可以选择其中一个版本进行数据回滚。

nacos-config-history-callback.png

# 监听查询

此界面可以查询使用某个配置的客户端简单信息。

nacos-config-listen.png

# 服务管理

服务管理主要是对注册到Nacos服务器上的客户端(应用程序)进行基本的运维操作,能够查看,编辑服务。

# 服务列表

服务列表界面展示所有的微服务以及服务健康状态。

nacos-service-list.png

nacos-service-detail.png nacos-service-detail-cluster.png

  • 实例下线:将服务从nacos服务注册与发行中心剔除,其他服务将不会发现也不会调用到此下线的实例。
  • 实例上线:下线的服务实例,可以通过 上线 操作恢复。

  • 在服务详情中,可以编辑服务实例

nacos-service-detail-edit.png

  • 实例的权重:权重越大表示负载均衡分配机率越高,如果分配为0则表示该实例不会被调用。

# 订阅者列表

订阅者列表界面显示订阅某个服务的相关信息,如Id地址、客户端版本。

nacos-service-subscribe.png

# 权限控制

  • Nacos权限控制提供 身份识别(Authentication)和权限识别(Authorization)两种功能。
  • 身份认证主要确定访问者的身份。
  • 权限识别则判断这个访问者是否有对应资源的权限。

# 用户列表

用户列表界面显示Nacos上的所有用户信息。可以进行新用户的创建。

nacos-auth-user.png nacos-auth-user-create.png

# 角色管理

  • 角色管理界面显示Nacos上的用户与角色的绑定关系,可以新建用户角色绑定关系。
  • ROLE_ADMIN 是默认角色,不可删除。

nacos-auth-role.png nacos-auth-role-create.png

# 权限管理

  • 权限管理界面显示所有角色的权限信息。
  • 可以对某个角色进行权限添加,用于授权是否有对应资源的权限。

nacos-auth-manager.png nacos-auth-manager-create-resource.png nacos-auth-manager-create-action.png

添加权限

  • 资源:即Nacos上的 命名空间
  • 动作:权限类型,有对资源的只读、只写、读写 三种权限。

# 集群管理

集群管理界面可以查看 集群的节点信息、节点健康状态。

nacos-cluster-list.png