首页 > 其他分享 >三、什么是namespace

三、什么是namespace

时间:2023-06-28 20:02:23浏览次数:53  
标签:namespace 什么 Namespace private application 公共 类型 权限

一、什么是Namespace?

Namespace是配置项的集合,类似于一个配置文件的概念。

二、 什么是“application”的Namespace?

Apollo在创建项目的时候,都会默认创建一个“application”的Namespace。顾名思义,“application”是给应用自身使用的,熟悉Spring Boot的同学都知道,Spring Boot项目都有一个默认配置文件application.yml。在这里application.yml就等同于“application”的Namespace。对于90%的应用来说,“application”的Namespace已经满足日常配置使用场景了。

客户端获取“application” Namespace的代码如下:

Config config = ConfigService.getAppConfig();

客户端获取非“application” Namespace的代码如下:

Config config = ConfigService.getConfig(namespaceName);

三、Namespace的格式有哪些?

配置文件有多种格式,例如:properties、xml、yml、yaml、json等。同样Namespace也具有这些格式。在Portal UI中可以看到“application”的Namespace上有一个“properties”标签,表明“application”是properties格式的。

注意:非properties格式的namespace,在客户端使用时需要调用ConfigService.getConfigFile(String namespace, ConfigFileFormat configFileFormat)来获取,如果使用Http接口直接调用时,对应的namespace参数需要传入namespace的名字加上后缀名,如datasources.json。

四、 Namespace的获取权限分类

Namespace的获取权限分为两种:

  • private (私有的)

  • public (公共的)

这里的获取权限是相对于Apollo客户端来说的。

private权限

private权限的Namespace,只能被所属的应用获取到。一个应用尝试获取其它应用private的Namespace,Apollo会报“404”异常。

public权限

public权限的Namespace,能被任何应用获取。

五、Namespace的类型

Namespace类型有三种:

  • 私有类型

  • 公共类型

  • 关联类型(继承类型)

私有类型

私有类型的Namespace具有private权限。例如上文提到的“application” Namespace就是私有类型。

公共类型

公共类型的Namespace具有public权限。公共类型的Namespace相当于游离于应用之外的配置,且通过Namespace的名称去标识公共Namespace,所以公共的Namespace的名称必须全局唯一。

使用场景

  • 部门级别共享的配置

  • 小组级别共享的配置

  • 几个项目之间共享的配置

  • 中间件客户端的配置

关联类型

关联类型又可称为继承类型,关联类型具有private权限。关联类型的Namespace继承于公共类型的Namespace,用于覆盖公共Namespace的某些配置。例如公共的Namespace有两个配置项

k1 = v1
k2 = v2

然后应用A有一个关联类型的Namespace关联了此公共Namespace,且覆盖了配置项k1,新值为v3。那么在应用A实际运行时,获取到的公共Namespace的配置为:

k1 = v3
k2 = v2

标签:namespace,什么,Namespace,private,application,公共,类型,权限
From: https://www.cnblogs.com/shigongp/p/17512383.html

相关文章

  • 为什么在 C++ 中,类的静态成员变量需要在源文件中进行定义?
    为什么在C++中,类的静态成员变量需要在源文件中进行定义?类的静态成员变量需要在源文件中进行定义,以便在链接阶段能够正确地分配内存并为其分配地址。当你在类的头文件中声明一个静态成员变量时,这只是告诉编译器该变量存在,并将在某处定义。这是因为头文件通常被包含在多个源文件......
  • 为什么说Kotlin是未来
    相比起Java语言,Kotlin的优势确实非常明显:第一,极高的生产效率。Kotlin是一种跨平台的静态类型语言,具有现代简洁的语法,关键特性包括null安全性、协程、数据类型、扩展函数等;这让开发者会用得很爽:前期开发效率更高,中期线上问题更少,后期代码更容易维护。而这正是Java做不到的......
  • 一文搞懂什么是@Component和@Bean注解以及如何使用(包括与@Controller、@Service、@Re
      来源  https://blog.csdn.net/m0_51358164/article/details/126120731一文搞懂什么是@Component和@Bean注解以及如何使用......
  • 企业需要什么样的全面预算管理?
    企业面临着不确定性的外部经济环境,因此业务的可预测性时间跨度变得更短,这使得组织需要更加灵活地应对新的市场机会和威胁。同时,企业对内部管理效率越来越重视,对数据洞察和经营分析的需求也越来越强烈。企业需要进行深度洞察过去业务的同时,也需要具备前瞻性的洞见。这就对预算管理系......
  • 【Linux基本指令(2)】几十条指令快速入手Linux_深入理解什么是指令
    本文思维导图:@TOCTips:*号匹配。功能:可以匹配任何东西。比如:可以看到,*号可以匹配任何东西,2.ctrl+c指令:终止因为程序或者指令异常,而导致我们无法进行指令输入。3.Linux下一切皆文件对于显示器来说,显示器文件有写方法(fwrite),有读方法(fread),但是读方法为空。对于键盘文件来说,键盘文......
  • 设备维保是干嘛的?有什么用?
    设备维保简单的来说就是保障设备全生命周期数智化管理。不仅是为了保障设备的正常运行和延长使用寿命,还能提高生产效率和减少安全事故的发生。其中备受青睐的莫过于基于微信小程序的青鸟云报修平台,下面以它为例,详细介绍设备维保的五个重要作用:1、延长设备寿命设备是企业的重要资产......
  • 恒创科技:轻量服务器带宽流量和云服务器带宽流量有什么区别?
    ​轻量服务器带宽流量和云服务器带宽流量有什么区别?虽然轻量服务器是轻量化云服务器,但与云服务器的差别还是有一些的,比如这令很多人好奇的轻量服务器带宽和流量和云服务器的区别在哪。下面我们就仔细聊聊关于轻量服务器和云服务器各自的带宽流量差异,以及优劣势。云服务......
  • 在EasyCVR中调用快照接口返回404是什么原因?如何解决?
    EasyCVR视频融合平台基于云边端一体化架构,能在复杂的网络环境中将前端设备进行统一集中接入,实现视频资源的汇聚管理、直播鉴权、转码处理、多端分发、智能告警、数据共享等能力与服务。此外,平台也提供了丰富的API接口供用户自由调用、集成与二次开发。有用户反馈,在EasyCVR中调用......
  • AI智慧安监EasyCVR平台长时间运行出现协程高的现象是什么原因?
    EasyCVR视频融合平台基于云边端协同架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,可支持多协议接入,包括市场主流标准协议与厂家私有协议及SDK,如:国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等。有用户反馈,EasyCVR平台向上级联后,运......
  • 设备通过海康ehome接入到EasyCVR后,通道数量显示不全是什么原因?
    EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。有用户反馈,现场设备通过海康ehome协议接入到EasyCVR中,虽然显......