Namespace的类型
Namespace类型有三种:
【1】私有类型
【2】公共类型
【3】关联类型(继承类型)
(1)私有类型
私有类型的Namespace具有private权限。例如上文提到的“application” Namespace就是私有类型。
(2)公共类型
1.介绍
公共类型的Namespace具有public权限。公共类型的Namespace相当于游离于应用之外的配置,且通过Namespace的名称去标识公共Namespace,所以公共的Namespace的名称必须全局唯一。
2.使用场景
【1】部门级别共享的配置
【2】小组级别共享的配置
【3】几个项目之间共享的配置
【4】中间件客户端的配置
3.示例
一开始不了解这个特性,自己错误的认为想要直接调用别的项目组不同的AppId项目配置,需要在项目中额外再配置下Apollo项目配置。之后经过了解后发现Apollo对于“公开”类型的配置可以被任意客户端获取到,即不需要通过对应的AppId,直接通过下面的方式获取即可。
ConfigService.getConfig(“任意公开类型的配置命名空间”);
(3)关联类型
1.含义
关联类型又可称为继承类型,关联类型具有private权限。关联类型的Namespace继承于公共类型的Namespace,用于覆盖公共Namespace的某些配置。例如公共的Namespace有两个配置项
然后应用A有一个关联类型的Namespace关联了此公共Namespace,且覆盖了配置项k1,新值为v3。那么在应用A实际运行时,获取到的公共Namespace的配置为: