zoukankan      html  css  js  c++  java
  • Apollo配置中心中的Namespace

    前言:Apollo(阿波罗)是携程研发的开源配置管理中心,能够集中管理应用不同环境、不同集群的配置。同一环境统一集群的配置下有namespace概念,具体信息官方文档如下:

    1. namespace是配置项的集合,类似于一个配置文件的概念。
    2. application的namespace:Apollo在创建项目的时候,都会默认创建一个“application”的namespace。顾名思义,“application”是给应用自身使用的。
    3. namespace的格式:配置文件有多种格式,例如:properties、xml、yml、yaml、json等,同样的,namespace也有具有这些格式。
      1. 非properties格式的namespace,在客户端使用时需要调用ConfigService.getConfigFile(String namespace, ConfileFormat configFileFormat)来获取;如果使用http接口调用时,对应的namespace参数需要传入namespace的名字加上后缀名,如datasources.json.
      2. apollo-client 1.3.0版本开始对yaml/yml做了更好的支持,使用起来和properties格式一致:Config config = ConfigService.getConfig("application.yml");,Spring的注入方式也和properties一致。
    4. namespace的获取权限分类(这里的获取权限是相对于Apollo客户端来说的)
      • private:只能被所属应用获取到,一个应用尝试获取其他应用private的namespace,Apollo会报“404”异常。
      • Public :能被任何应用获取。http请求直接传public的集群+namespace名称,就可以获取到公共配置。
    5. namespace的类型
      • 私有类型:具有private权限。
      • 公共类型:具有public权限,公共类型的namespace通过名称标识,因此名称必须全局唯一。具体使用场景如下:
        • 部门级别共享的配置
        • 小组级别共享的配置
        • 几个项目之间共享的配置
        • 中间件客户端的配置
      • 关联类型:又称为继承类型,具有private权限。关联类型的name space继承于公共类型的name space,用于覆盖公共namespace的某些配置。

    原文:https://github.com/ctripcorp/apollo/wiki/Apollo核心概念之“Namespace”

  • 相关阅读:
    ps-- 制作磨砂背景
    ps -- 证件照
    抠图--薄,透
    60后发送短信的方法
    小项目 -- 验证码.js
    小项目
    小项目 -- phone.js
    基于GDAL提取地物,并生成png,最后加载到网页上(二)
    根据范围获取影像瓦片,并生成GeoTIFF 文件《一》
    Ubuntu 10.4 +NVIDIA GTX 1070 显卡驱动更新
  • 原文地址:https://www.cnblogs.com/amyzhu/p/14038049.html
Copyright © 2011-2022 走看看