Apollo配置中心管理后台的详解
上篇【Apollo配置中心源码编译及搭建】搭建了Apollo。这篇来看看怎么使用Apollo管理后台。
Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。Apollo架构模块图:
来源:网络
各模块职责
Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端
Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)
Eureka提供服务注册和发现,目前Eureka在部署时和Config Service是在一个JVM进程中的
Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心跳
在Eureka之上架了一层Meta Server用于封装Eureka的服务发现接口
Client通过域名访问Meta Server获取Config Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Client侧会做load balance、错误重试
Portal通过域名访问Meta Server获取Admin Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Portal侧会做load balance、错误重试
为了简化部署实际上会把Config Service、Eureka和Meta Server三个逻辑角色部署在同一个JVM进程中
分步执行流程
Apollo启动后,Config Service和Admin Service会自动注册到Eureka服务注册中心,并定期发送保活心跳。
Apollo Client和Portal管理端通过配置的Meta Server的域名地址经由Software Load Balancer(软件负载均衡器)进行负载均衡后分配到某一个Meta Server
Meta Server从Eureka获取Config Service和Admin Service的服务信息,相当于是一个Eureka Client
Meta Server获取Config Service和Admin Service(IP+Port)失败后会进行重试
获取到正确的Config Service和Admin Service的服务信息后,Apollo Client通过Config Service为应用提供配置获取、实时更新等功能;Apollo Portal管理端通过Admin Service提供配置新增、修改、发布等功能
核心概念
application (应用):就是实际使用配置的应用,Apollo客户端在运行时需要知道当前应用是谁,从而可以去获取对应的配置
关键字:appIdenvironment (环境):配置对应的环境,Apollo客户端在运行时需要知道当前应用处于哪个环境,从而可以去获取应用的配置
关键字:envcluster (集群):一个应用下不同实例的分组,比如典型的可以按照数据中心分,把上海机房的应用实例分为一个集群,把北京机房的应用实例分为另一个集群。
关键字:clusternamespace (命名空间): 一个应用下不同配置的分组,可以简单地把namespace类比为文件,不同类型的配置存放在不同的文件中,如数据库配置文件,RPC配置文件,应用自身的配置文件等
关键字:namespaces
0x01:部门管理
Apollo 默认部门提供两个,如需要增加部门,可在系统参数中修改
添加部门
0x02:用户管理
添加用户
0x03:创建项目(应用)
创建项目
创建完成后
0x04:授权管理
赋予用户huangjj管理payservice服务的权限
这样huangjj用户登录就可以看到payservice应用了。
0x05:删除项目
删除应用
集群和Namespace删除同理
0x06:创建token
输入相关参数,点击创建就
Namespace授权
0x07:添加配置和发布配置
添加
发布
0x08:创建Namespace
创建Namespace
Namespace授权
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
返回数据:
{"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 | 所管理的配置AppId |
clusterName | 所管理的配置集群名, 一般情况下传入 default 即可。如果是特殊集群,传入相应集群的名称即可 |
namespaceName |
所管理的Namespace的名称,如果是非properties格式,需要加上后缀名,如sample.yml
|
详细参考:https://github.com/ctripcorp/apollo/wiki/Apollo开放平台
另外也可以通过JavaAPI的方式获取配置
详细参考:https://github.com/ctripcorp/apollo/wiki/Java客户端使用指南
参考:https://www.cnblogs.com/dalianpai/p/12206079.html
Apollo配置中心管理后台的详解相关推荐
- 分布式配置中心之 —— nacos使用详解
前言 随着分布式应用架构的广泛使用,随之而来的要解决的一个很重要的问题就是分布式环境下配置文件该如何处理,我们知道配置文件是任何一个系统中必不可少的,而且承载的信息量也越来越大,如何在分布式环境中对配 ...
- SpringCloud Alibaba 之 Config配置中心,Redis分布式锁详解
目录 1.服务配置中心 1.1 服务配置中心介绍 1.2 Nacos Config 实践 1.2.1 Nacos config 入门案例 1.2.2 Nacos 配置动态刷新 1.2.3 配置共享 ...
- SpringCloudConfigServer配置中心使用与刷新详解
一.为什么不用nacos 之前项目使用的是nacos作为配置中心,使用过程中,还是有不少问题的: 选用nacos,是同时使用了nacos的服务注册与发现,但是在生产环境,多个项目均出现了脑裂故障,包括 ...
- apollo 配置中心_.NET Core 下使用 Apollo 配置中心
" Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置 ...
- apollo 配置中心 支持php,Apollo 配置中心详解
Apollo 配置中心产生背景 大多情况下程序随着功能的复杂,程序的配置也会增多:包括各种功能的开关.参数的配置.服务器的地址配置等等,同时开发人员对程序配置的期望值也越来越高:配置修改后实时生效,灰 ...
- 本文是对优雅草蜻蜓C影视便捷追剧小程序微信支付配置教程-大部分小程序支付通用,从微信配置到后台的详解,其他小程序系统均可参考
本文是对优雅草蜻蜓C影视便捷追剧小程序微信支付配置教程-大部分小程序支付通用,从微信配置到后台的详解,其他小程序系统均可参考 微信支付配置 1,下载工具 编辑切换为居中 添加图片注释,不超过 14 ...
- apollo配置中心的组件_如何使用Apollo的全新查询组件来管理本地状态
apollo配置中心的组件 Note: This article deals with utilizing Apollo's brand new Query and Mutation componen ...
- 国际短信系统平台后台功能详解-移讯云短信软件
国际短信系统平台后台功能详解-移讯云短信软件 后台登陆首页显示 ⦁ 用户总量记录: 显示总使用户数量 ⦁ 待审核账号数量记录: 等待审核的新用户账号数量 ⦁ 待审核签名数量记录: ...
- application配置token_Kerrigan:配置中心管理UI的实现思路和技术细节
简单好用一直是我不变的追求 去年写过一篇文章『中小团队落地配置中心详解』,介绍了我们借助etcd+confd实现的配置中心方案,这是一个对运维友好,与开发解耦的极佳方案,经过了一年多的实践也确实帮我们 ...
- Apollo配置中心热加载mysql_Apollo 配置中心部署注意事项
2019 年 12 月份的时候写过一篇文章 Apollo 配置中心初探,当时刚接触 apollo,使用还不是很熟练,只是快速的部署出来了.随后在业务快速迭代的过程中,使用 apollo 的频率越来越高 ...
最新文章
- Oracle 查看表空间的大小及使用情况sql语句
- 7限制cpu使用_Kubernetes 资源配额使用指南 | Linux 中国
- VTK:标量条形 Actor用法实战
- JS的隐式转换 从 [] ==false 说起
- python之布尔值——待补充……
- Eclipse提示The **** cannot be resolved. It is indirectly referenced from required .cl
- 程序员实用小程序_我从阅读《实用程序员》中学到了什么
- Linux Linux程序练习七
- CTO 深度解读 SMTX OS 3.5 产品特性
- 2008服务器网站设置密码,win2008服务器设置密码
- 我是如何把30000行代码重构成15行
- 唯一索引和普通索引的区别
- OpenCV实现监控移动侦测
- 计算机网络管理工程师技术水平证书,计算机网络管理工程师技术水平证书有什么用...
- 为什么你要用卡片笔记法?
- 【近五千字纯手撸】✨前后一个月面试30家中大型高级、资深java工程师终获500强公司offer心得以及经过
- 计算机视觉之混合图像(Hybrid)
- 教程篇(7.0) 08. FortiGate基础架构 诊断 ❀ Fortinet 网络安全专家 NSE 4
- 一张图搞清楚矩阵 (性质解法归纳)
- list remove 失效的解决方式