# Nacos使用说明
# 概述
- Nacos 致力于发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,快速实现动态服务发现、服务配置、服务元数据及流量管理。
- Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
- 官网:https://nacos.io/zh-cn/index.html (opens new window)
- 官网文档:https://nacos.io/zh-cn/docs/what-is-nacos.html (opens new window)
# 配置
# 引入依赖
<!-- 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用于进行多环境、多租户(多个共同使用Nacos的用户)数据(配置和服务)隔离的,类似于Java的包名。 不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。常用场景是不同环境配置的区分隔离, 例如开发测试环境和生产环境的资源(如配置、服务)隔离等。
# 配置管理
配置管理主要是对应用程序的配置文件进行管理的功能模块。
配置文件
应用程序在启动和运行的时候往往需要读取一些配置信息,比如:数据库连接参数、启动参数等,这些配置信息伴随应用的整个生命周期, 应用程序对这些配置信息只读,不进行更改。同一份程序在不同的环境(开发,测试,生产)需要有不同的配置。
对于重复冗余的配置信息,在不同的环境都需要有相同的配置,此时可以使用 配置管理 功能将这些信息放在同一个配置文件中进行统一的管理。
如图所示
- 1 表示配置管理模块功能菜单
- 2 表示命名空间,在不同的命名空间里的 配置文件 信息。
# 配置列表
配置列表界面中展示了不同 命名空间 下的配置集列表,可点击左上角的不同 命名空间 进行切换。
新建配置
- Data Id:新建配置 在此命名空间里的唯一标识,一般为应用程序项目名称。
- GROUP:新建配置 在此命名空间里的分组。
- 配置格式:新建配置 的文件格式,根据业务自行选择。
导入配置
- 可以将一些或迁移的配置文件导入到当前的 命名空间 中。
- 如果导入的文件与当前命名空间里的文件相同,则对于两个文件里相同配置导入时有 终止导入、跳过、覆盖三种方式。
克隆
克隆是对某个文件进行复制操作,可以对复制后的文件,进行Data Id 和 GROUP 的修改。
- 目标空间:非复制后的文件分配需要的 命名空间。
- 相同配置:与导入配置的 ‘相同配置’ 一样。
# 历史版本
- 历史版本界面,可以查询某个配置文件的每次修改记录。
注意
- 历史版本只显示某个配置文件以往的版本,即当前最新信息以往的修改记录。
- 比如A配置,新建一次、修改一次,则在历史版本中会有两条记录,分别为新建版本,第一次修改时版本。 最新的版本即最后一次修改后的配置,是显示在 配置列表 中。
- 在配置的历史版本中,可以选择其中一个版本进行数据回滚。
# 监听查询
此界面可以查询使用某个配置的客户端简单信息。
# 服务管理
服务管理主要是对注册到Nacos服务器上的客户端(应用程序)进行基本的运维操作,能够查看,编辑服务。
# 服务列表
服务列表界面展示所有的微服务以及服务健康状态。
- 实例下线:将服务从nacos服务注册与发行中心剔除,其他服务将不会发现也不会调用到此下线的实例。
- 实例上线:下线的服务实例,可以通过 上线 操作恢复。
- 在服务详情中,可以编辑服务实例
- 实例的权重:权重越大表示负载均衡分配机率越高,如果分配为0则表示该实例不会被调用。
# 订阅者列表
订阅者列表界面显示订阅某个服务的相关信息,如Id地址、客户端版本。
# 权限控制
- Nacos权限控制提供 身份识别(Authentication)和权限识别(Authorization)两种功能。
- 身份认证主要确定访问者的身份。
- 权限识别则判断这个访问者是否有对应资源的权限。
# 用户列表
用户列表界面显示Nacos上的所有用户信息。可以进行新用户的创建。
# 角色管理
- 角色管理界面显示Nacos上的用户与角色的绑定关系,可以新建用户角色绑定关系。
- ROLE_ADMIN 是默认角色,不可删除。
# 权限管理
- 权限管理界面显示所有角色的权限信息。
- 可以对某个角色进行权限添加,用于授权是否有对应资源的权限。
添加权限
- 资源:即Nacos上的 命名空间
- 动作:权限类型,有对资源的只读、只写、读写 三种权限。
# 集群管理
集群管理界面可以查看 集群的节点信息、节点健康状态。