文档章节

apollo配置中心

浮世清欢-千帆
 浮世清欢-千帆
发布于 09/05 15:09
字数 1030
阅读 43
收藏 0

1. Apollo

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

Apollo支持4个维度管理Key-Value格式的配置:

  • application (应用)
  • environment (环境)
  • cluster (集群)
  • namespace (命名空间)

2. Cluster

一个应用下不同实例的分组,比如典型的可以按照数据中心分,把A机房的应用实例分为一个集群,把B机房的应用实例分为另一个集群。

3. Namespace

一个应用下不同配置的分组。 请参考Apollo核心概念之“Namespace”

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

4.四个核心模块及其主要功能

1. ConfigService

提供配置获取接口

提供配置推送接口

服务于Apollo客户端

2.AdminService

提供配置管理接口

提供配置修改发布接口

服务于管理界面Portal

3.Client

为应用获取配置,支持实时更新

通过MetaServer获取ConfigService的服务列表

使用客户端软负载SLB方式调用ConfigService

4.Portal

配置管理界面

通过MetaServer获取AdminService的服务列表

使用客户端软负载SLB方式调用AdminService

5.三个辅助服务发现模块

Eureka

用于服务发现和注册

Config/AdminService注册实例并定期报心跳

和ConfigService住在一起部署

MetaServer

Portal通过域名访问MetaServer获取AdminService的地址列表

Client通过域名访问MetaServer获取ConfigService的地址列表

相当于一个Eureka Proxy

逻辑角色,和ConfigService住在一起部署

NginxLB

和域名系统配合,协助Portal访问MetaServer获取AdminService地址列表

和域名系统配合,协助Client访问MetaServer获取ConfigService地址列表

和域名系统配合,协助用户访问Portal进行配置管理

接入Apollo?

请参考Apollo使用指南

我有多个应用需要使用同一份配置,Apollo是否能支持?

Apollo是支持的。请参考Apollo使用指南中的四、多个AppId使用同一份配置

Apollo相比于Spring Cloud Config有什么优势?

Spring Cloud Config的精妙之处在于它的配置存储于Git,这就天然的把配置的修改、权限、版本等问题隔离在外。通过这个设计使得Spring Cloud Config整体很简单,不过也带来了一些不便之处。

下面尝试做一个简单的小结:

| 功能点

|

Apollo

|

Spring Cloud Config

|

备注

| |

配置界面

|

一个界面管理不同环境、不同集群配置

|

无,需要通过git操作

|   | |

配置生效时间

|

实时

|

重启生效,或手动refresh生效

|

Spring Cloud Config需要通过Git webhook,加上额外的消息队列才能支持实时生效

| |

版本管理

|

界面上直接提供发布历史和回滚按钮

|

无,需要通过git操作

|   | |

灰度发布

|

支持

|

不支持

|   | |

授权、审核、审计

|

界面上直接支持,而且支持修改、发布权限分离

|

需要通过git仓库设置,且不支持修改、发布权限分离

|   | |

实例配置监控

|

可以方便的看到当前哪些客户端在使用哪些配置

|

不支持

|   | |

配置获取性能

|

快,通过数据库访问,还有缓存支持

|

较慢,需要从git clone repository,然后从文件系统读取

|   | |

客户端支持

|

原生支持所有Java和.Net应用,提供API支持其它语言应用,同时也支持Spring annotation获取配置

|

支持Spring应用,提供annotation获取配置

|

Apollo的适用范围更广一些

|

© 著作权归作者所有

上一篇: jenkins的日常使用
下一篇: Kubernetes 1.15
浮世清欢-千帆
粉丝 1
博文 20
码字总数 6975
作品 0
朝阳
运维
私信 提问
owenwangwen/open-capacity-platform

open-capacity-platform 微服务能力开发平台 项目简介 1.用户登录 2.用户管理 3.角色管理 4.菜单管理 5.角色菜单管理 6.注册中心 7.配置中心 8.应用列表以及资料列表页面正在开发中,敬请期待...

owenwangwen
2018/04/16
0
0
.NET Core微服务之基于Apollo实现统一配置中心

Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、关于统一配置中心与Apollo   在微服务架构环境中,项目中配置文件比较繁杂,而且不同环境的不同配置修改相对频繁,每次发布都需要对应...

Edison Chou
2018/08/04
0
0
微服务中集成分布式配置中心 Apollo

背景 随着业务的发展、微服务架构的升级,服务的数量、程序的配置日益增多(各种微服务、各种服务器地址、各种参数),传统的配置文件方式和数据库的方式已无法满足开发人员对配置管理的要求...

aoho
05/28
0
0
Apollo(阿波罗)携程开源配置管理中心

一、背景 最近公司订单中心重构,利用spring boot集成apollo配置中心,因此学习一下apollo配置中心 因为如今程序功能越来越复杂,程序的配置日益增多:各种功能的开关、参数配置、服务器地址...

麦田守望者LEO
2018/08/03
0
0
开源分布式配置中心 - Apollo(阿波罗)

Apollo - A reliable configuration management system 一、背景介绍 Apollo(阿波罗)是携程框架部门研发的配置管理平台,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时...

nobodyiam
2017/02/17
37.7K
12

没有更多内容

加载失败,请刷新页面

加载更多

js判断数据类型的几种方法

1、typeof typeof只能判断区分基本类型,number、string、boolean、undefined和object,function; typeof 0; //number;typeof true; //boolean;typeof undefined; //undefined;typ......

Bing309
36分钟前
3
0
说一说你的对面向过程和面向对象的理解

软件开发思想,先有面向过程,后有面向对象 在大型软件系统中,面向过程的做法不足,从而推出了面向对象 都是解决实际问题的思维方式 两者相辅相成,宏观上面向对象把握复杂事物的关系;微观...

ConstXiong
40分钟前
5
0
Qt编写气体安全管理系统5-数据监控

一、前言 本项目对设备的监控有四种视图模式,可以任意切换,数据监控、地图监控、设备监控、曲线监控,其中数据监控是最常用的,所以在主界面导航中也排在第一位,综合观察分析了很多气体安...

飞扬青云
42分钟前
3
0
pip源安装TensorFlow阿里报错 '--trusted-host mirrors.aliyun.com'.

使用命令pip install -i http://mirrors.aliyun.com/pypi/simple/ tensorFlow 报错 '--trusted-host mirrors.aliyun.com'. 需要改成 pip install -i http://mirrors.aliyun.com/pypi/simple......

Mr_Tea伯奕
47分钟前
3
0
C# ICSharpCode.SharpZipLib 压缩、解压文件 附源码

http://www.icsharpcode.net/opensource/sharpziplib/ 有SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, GZip, BZip2 和Tar格式。我们需要dll 在官网上也有。 好了,深入的大...

_Somuns
47分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部