开发者学堂课程【Spring Cloud Alibaba Nacos 详解(上):配置管理基础应用-命名空间 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/724/detail/12921
配置管理基础应用-命名空间
内容介绍
一、配置管理文件的复习
二、命名空间的管理
三、创造命名空间
一、配置管理文件的复习
命名空间的管理,在理模型当中,我们了解命名空间是作为整个配置集体及配置项以及配置分组的一个隔离。命名空间可以定义为一个开发环境。我们就可以通过 Namespace,Group, Datald 就可以获取一个配置的具体信息。
下面是一组代码演示:
//
初始化配置服务
String serverAddr="127.0.0.1:8848";
String namespace"ee247dde-d838-425c-b371-029dab26232f";
//
开发环境 //默认组
String dataId =
”nacos-simple-demo.yam1”;
group
“DEFAULT_GROUP,
Properties properties = new Properties();
properties.put("serverAddr" , serverAddr);
properties.put("namespace" , :namespace);
ConfigService
configService= NacosFactory.createConfigService(properties);
//
获取配置,并输出控制台
String content configService.getConfig(dataId,group,5000);
System.out.println(content);
这里我们看到通过 Namespace,Group,Datald 我们就可以获取一个配置项,一个配置文件的具体信息,(注意这里不要将信息弄混一个 datald 就是一个配置文件)由此可看到以前我们所写的入门程序是没有定义namespace.
代码如下:
String serverAddr ="127.0.0.1:8848"; //dataid
String dataId nacos-sinple-deno.yanl
”; //group
String group ="DEFAULT_GROUP
”;
Properties properties = new Properties();
Propertie,put ("serverAddr",serverAddr); //
获职配置
configService=NacosFactory.createConfigService(properties)
String dataid,String group,long rimeoutxs
String config configService.getConfig(dataId,group,1:5000);
System. out. printIn(config);
这里使用是 public 的 namespace 后面我们会详细介绍,如果我们要我们要定义 namespace,我们就要指定 namespace.
String namespace"ee247dde-d838-425c-b371-029dab26232f";这里(ee247dde-d838-425c-b371-029dab26232f)为namespace的id。 由此我们通过 properties 我们就可以把这个属性把它放进去,这样。我们的客户端程序就可以从这个获取 group 获取 dataid 的配置文件的信息。
二、命名空间的管理
Namespace 的作用及隔离设计
由于 namespace 是一个隔离,它可以隔离不同的环境
我们可以按照环境来建立不同的三个 namespace,由此可知,不同的环境中的内容是互不影响的。但如果有多个用户使用一套 nacos 配置管理服务,该如何处理呢?我们就可以认为每个用户为一个 namespace。
所以 nacos 中 namespace group 等这些概念是比较灵活的,还需要看我们在生产实践中怎么使用。所以每个用户之间的配置是互不影响的。如果按照不同的环境创造命名空间那我们应该如何做呢?
方法如下:前面已经介绍过,命名空间( Namespace )是用于隔离多个环境的(如开发、测试、生产),而每个应用在不同环境的同个配置(如数据库数据源)的值是不一样的。
因此,我们应针对企业项目实际研发流程、环境进行规划。如某软件公司拥有开发、测试、生产三套环境,那么我们应该针对这三个环境分别健立三个 namespace。
建立好所有 namespace 后,在配置管理与服务管理模块下所有页面,都会包含用于切换 namespace (环境)的 tab 按钮。
三、创命名空间
我们来说实际操作一遍,我们先登录界面
新建命名空间
我们可以创建自己所需要的环境
Dev 和 text 我们也可以通过创建新的命名空间来完成。
注意每个命名空间都有相对应的 id
所以我们要指定 namespace 就一定要指定它的 id,所以我们就可以在命名空间处获取 id 那么在配置列表处我们就可以切换不同的命名空间
每个命名空间都是相互隔离的。可以看到在这里也可以显示出命名空间的 id, Note:namesace 为 **public* 是 nacos 的一个保留空间,如果您需要创建自己的 namespace,不要和布式系 public 重名,以一个实际业务场景有具体语义的名字来命名,以免带来字面上不容易区分自己是哪一个 namespace。
在 dev 下创建 dataid
在其他命名空间创建配置文件,通过程序来获取
在dev 和 public 中都有相同的配置文件
nacos-simple-demo.yamI 但是他们却互不影响。
获取程序如下
String serverAddr ="127.0.0.1:8848"; //dataid
String dataId nacos-simple-demo.yamI
”; //group
String group ="DEFAULT _GROUP
”;
//namespace (
需要指定,要不为public的指定空间)
Stringnamespace=
“c67e4a97-a698-4d6d-9bb1-cfac5f5b51c4”
Properties properties = new Properties();
Propertie,put ("serverAddr",serverAddr); //
获职配置
Propertie,put
(”namespace”,namespace);
ConfigService configService=NacosFactory.createConfigService(properties);
String dataid,String group,long rimeoutxs
String config configService. getConfig(dataId,group,1:5000);
System. out.printIn(config);
获取文件内容:
为dev 下配置的文件内容。