分布式配置中心Apollo中Namespace的类型整理

Namespace的类型

Namespace类型有三种:
【1】私有类型
【2】公共类型
【3】关联类型(继承类型)

(1)私有类型

私有类型的Namespace具有private权限。例如上文提到的“application” Namespace就是私有类型。
分布式配置中心Apollo中Namespace的类型整理_第1张图片

(2)公共类型

1.介绍

公共类型的Namespace具有public权限。公共类型的Namespace相当于游离于应用之外的配置,且通过Namespace的名称去标识公共Namespace,所以公共的Namespace的名称必须全局唯一。
分布式配置中心Apollo中Namespace的类型整理_第2张图片

2.使用场景

【1】部门级别共享的配置
【2】小组级别共享的配置
【3】几个项目之间共享的配置
【4】中间件客户端的配置

3.示例

一开始不了解这个特性,自己错误的认为想要直接调用别的项目组不同的AppId项目配置,需要在项目中额外再配置下Apollo项目配置。之后经过了解后发现Apollo对于“公开”类型的配置可以被任意客户端获取到,即不需要通过对应的AppId,直接通过下面的方式获取即可。
ConfigService.getConfig(“任意公开类型的配置命名空间”);

(3)关联类型

1.含义

分布式配置中心Apollo中Namespace的类型整理_第3张图片
关联类型又可称为继承类型,关联类型具有private权限。关联类型的Namespace继承于公共类型的Namespace,用于覆盖公共Namespace的某些配置。例如公共的Namespace有两个配置项
在这里插入图片描述
然后应用A有一个关联类型的Namespace关联了此公共Namespace,且覆盖了配置项k1,新值为v3。那么在应用A实际运行时,获取到的公共Namespace的配置为:
在这里插入图片描述

你可能感兴趣的:(#,Apollo配置中心,分布式和微服务理论与实践,算法,c++,开发语言)