<返回更多

Apollo配置中心管理后台的详解

2020-08-10    
加入收藏

Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。Apollo架构模块图:

Apollo配置中心管理后台的详解

 

来源:网络

各模块职责

为了简化部署实际上会把Config Service、Eureka和Meta Server三个逻辑角色部署在同一个JVM进程中

分步执行流程

核心概念

Apollo配置中心管理后台的详解

 

0x01:部门管理

Apollo 默认部门提供两个,如需要增加部门,可在系统参数中修改

Apollo配置中心管理后台的详解

 

添加部门

Apollo配置中心管理后台的详解

 

0x02:用户管理

Apollo配置中心管理后台的详解

 

添加用户

Apollo配置中心管理后台的详解

 

0x03:创建项目(应用)

Apollo配置中心管理后台的详解

 

创建项目

Apollo配置中心管理后台的详解

 

创建完成后

Apollo配置中心管理后台的详解

 

0x04:授权管理

Apollo配置中心管理后台的详解

 

赋予用户huangjj管理payservice服务的权限

Apollo配置中心管理后台的详解

 

这样huangjj用户登录就可以看到payservice应用了。

0x05:删除项目

Apollo配置中心管理后台的详解

 

删除应用

Apollo配置中心管理后台的详解

 

集群和Namespace删除同理

0x06:创建token

Apollo配置中心管理后台的详解

 

输入相关参数,点击创建就

Apollo配置中心管理后台的详解

 

Namespace授权

Apollo配置中心管理后台的详解

 

0x07:添加配置和发布配置

Apollo配置中心管理后台的详解

 

添加

Apollo配置中心管理后台的详解

 

发布

Apollo配置中心管理后台的详解

 

0x08:创建Namespace

Apollo配置中心管理后台的详解

 

创建Namespace

Apollo配置中心管理后台的详解

 

Namespace授权

Apollo配置中心管理后台的详解

 

0x08:获取集群下所有Namespace信息接口

curl -H 'Authorization:748aba21fa6717c5ac6210e82d32f05d9a7c61d6'  
        -H 'Content-Type:application/json;charset=UTF-8'  
        http://127.0.0.1:8070/openapi/v1/envs/dev/apps/payservice/clusters/default/namespaces/application
Apollo配置中心管理后台的详解

 

返回数据:

{
    "appId": "payservice",
    "clusterName": "default",
    "namespaceName": "application",
    "comment": "default app namespace",
    "format": "properties",
    "isPublic": false,
    "items": [
        {
            "key": "rule.count",
            "value": "100",
            "comment": "",
            "dataChangeCreatedBy": "apollo",
            "dataChangeLastModifiedBy": "apollo",
            "dataChangeCreatedTime": "2020-08-08T09:37:13.000+0800",
            "dataChangeLastModifiedTime": "2020-08-08T09:37:13.000+0800"
        },
        {
            "key": "port",
            "value": "9009",
            "comment": "",
            "dataChangeCreatedBy": "apollo",
            "dataChangeLastModifiedBy": "apollo",
            "dataChangeCreatedTime": "2020-08-08T09:37:13.000+0800",
            "dataChangeLastModifiedTime": "2020-08-08T09:37:13.000+0800"
        }
    ],
    "dataChangeCreatedBy": "apollo",
    "dataChangeLastModifiedBy": "apollo",
    "dataChangeCreatedTime": "2020-08-08T09:18:59.000+0800",
    "dataChangeLastModifiedTime": "2020-08-08T09:18:59.000+0800"
}

结构url的参数规则说明:

env所管理的配置环境appId所管理的配置AppIdclusterName所管理的配置集群名, 一般情况下传入 default 即可。如果是特殊集群,传入相应集群的名称即可namespaceName所管理的Namespace的名称,如果是非properties格式,需要加上后缀名,如sample.yml

详细参考:https://github.com/ctripcorp/apollo/wiki/Apollo开放平台

另外也可以通过JAVAAPI的方式获取配置

详细参考:https://github.com/ctripcorp/apollo/wiki/Java客户端使用指南
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>