namespace 的设计是 nacos 基于此做多环境以及多租户(多个用户共同使用nacos)数据(配置和服务)隔离的。
- 从一个用户角度来看,如果有多套环境,就可以使用多个namespace。比如开发、测试、生产,根据不同的环境有不同的配置参数
- 从多个用户角度来看,每个用户都可能会有自己的namespace。每个用户的配置数据以及注册的服务数据都会归属到自己的 namespace 下,以此来实现多租户间的数据隔离。
新建命名空间
新建之后,在配置列表就可以看到刚才新建的命名空间
项目中配置
每一个命名空间都一个id,如果想用此命名空间下的配置文件的话,必须配置id,不能配置命名空间名
#id要与namespace的id相对应 spring.cloud.nacos.config.namespace=b4ee89c4-e898-4d26-9f7e-a135af92a93e
另一种配置组合方案
上文提到把开发、测试、生产分开的方式来进行配置,实际上,我们开发的项目大多数都是根据业务进行拆分的各个业务模块。也就是,如果用上述方案的话,我们在某一个命名空间会存在大量的配置文件。
Nacos还有一个参数,叫Group(分组),我们可以利用分组来对配置再进行拆分。默认情况下,所有的配置都在DEFAULT_GROUP分组下,我们在新建配置的时候,可以对分组参数进行修改。
#分组配置,默认DEFAULT_GROUP spring.cloud.nacos.config.group=dev