• 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”

  • 相关阅读:
    让Asp.NET的DataGrid可排序、可选择、可分页
    锁的一些概念
    我在delphi7下调用微软的Web Services的心得
    CRM 之 销售功能点分析[转]
    OFFICE InfoPath 教程
    Take me to your heartMichael Learns To Rock
    NetAdvantage(WebCombo)设置说明
    WebService小记
    Fading Like a Flower Roxette
    UndividedBon Jovi
  • 原文地址:https://www.cnblogs.com/amyzhu/p/14038049.html
Copyright © 2020-2023  润新知