谷粒商城实战笔记-24-分布式组件-SpringCloud Alibaba-Nacos配置中心-命名空间与配置分组

文章目录

本节内容详细介绍Nacos配置中心的密码空间和DataId。

一,命名空间

1,简介

在Nacos中,命名空间(Namespace)是一种逻辑隔离的机制,用于区分不同环境或不同租户的配置和服务。

1.1,命名空间的主要功能和特点

  • 环境隔离:通过命名空间,可以隔离开发、测试和生产环境的配置和服务,确保它们不会相互干扰。
  • 租户隔离:在多租户场景下,命名空间可以隔离不同租户的配置和服务,保证租户之间的数据安全和隔离性。
  • 配置管理:命名空间允许用户在不同的命名空间中管理不同的配置集,便于跨环境的配置同步和管理。
  • 服务发现:在服务发现方面,命名空间可以帮助用户在特定的命名空间内查找和访问服务,实现服务的逻辑隔离。
  • 权限控制:Nacos的权限控制可以细化到命名空间级别,允许对不同命名空间的访问进行权限设置。

1.2,使用场景

  • 多环境部署:在开发、测试和生产环境中使用不同的命名空间,以避免配置和服务的冲突。
  • 多租户系统:在云服务或SaaS应用中,使用命名空间来隔离不同租户的服务和配置。
  • 组织结构管理:在大型组织中,使用命名空间来区分不同部门或团队的服务和配置。

1.3,如何指定命名空间

如何在配置文件中指定要使用的密码空间呢?

每个命名空间都有一个唯一的ID,除了public空间外,如果要指定命名空间,只需要将这个命名空间的ID配置到配置文件中即可。

如下图,复制命名空间I。

配置到bootstrap.properties文件中。

clike 复制代码
spring.cloud.nacos.config.namespace=346bb1d1-5520-443f-96cb-9f5f36fe864f

注意必须配置命名空间的ID,不能配置为命名空间的名称。

2,命名空间实战

2.1,环境隔离

在实际工作中,一般都有开发、测试、生产三套环境,每套环境的配置肯定是不一样的, 比如测试环境和生成环境的数据库连接信息肯定不一样。

那么,针对这个情况,可以创建三个命名空间:

  • dev,开发环境
  • test,测试环境
  • prod,生产环境

然后,不同的环境读取不同命名空间的配置。

比如,在配置文件指定命名空间为dev,测试结果如下图

clike 复制代码
spring.cloud.nacos.config.namespace=346bb1d1-5520-443f-96cb-9f5f36fe864f

2.2,服务隔离

在有很多个服务、每个服务有很多配置文件的情况下,可以给每个服务建立一个命名空间,把这个服务的所有配置文件都放在这个密码空间中。

比如,给谷粒商城的优惠券服务建立命名空间coupon

然后把coupon服务相关的所有配置文件都放在这个密码空间下,在配置文件中指定命名空间ID,就可以读取配置文件了。

clike 复制代码
spring.cloud.nacos.config.namespace=b72ad17c-3b0d-42d1-aec0-2015ac543335

当然,命名空间还有其他的使用方式,要结合实际情况进行设计。

二,配置集

配置集是一个逻辑概念,一组配置的集合。

当我们在Nacos上点击创建配置按钮

配置完成,点击发布的结果就是创建了一个配置集。

三,配置集ID

配置集ID就是Data Id。

每一个配置即都有一个唯一的Data Id,某种程度上可以理解为配置文件名。但其不是文件名,Nacos上的配置都保持在数据库中,而不是像本地文件那样直接以文件的形式存储。

相关推荐
lkbhua莱克瓦2419 小时前
Java基础——常用算法4
java·数据结构·笔记·算法·github·排序算法·快速排序
学渣6765619 小时前
11111
笔记
MeowKnight95819 小时前
【DIY】PCB练习记录2——51单片机核心板
笔记
tjsoft1 天前
网站如何被百度收录之探索笔记
笔记
QT 小鲜肉1 天前
【个人成长笔记】在 Linux 系统下撰写老化测试脚本以实现自动压测效果(亲测有效)
linux·开发语言·笔记·单片机·压力测试
MeowKnight9581 天前
【Qt】Qt实践记录2——TCP通信服务器和客户端demo
笔记·qt
编啊编程啊程1 天前
【029】智能停车计费系统
java·数据库·spring boot·spring·spring cloud·kafka
The_Second_Coming1 天前
ELK 学习笔记
笔记·学习·elk
wdfk_prog1 天前
[Linux]学习笔记系列 -- [kernel][time]timekeeping
linux·笔记·学习
charlie1145141911 天前
从零开始理解 CSS:让网页“活”起来的语言2
前端·css·笔记·学习·选择器·样式表·原生