Apollo阿波罗配置中心

Apollo是携程开源的生产级配置中心,能集中管理应用在不同环境、集群的配置,支持配置实时生效、版本管理、权限控制等功能。核心概念包括Namespace,分为public和private,以及ConfigService、AdminService、Client和Portal等模块。
摘要由CSDN通过智能技术生成

Apollo配置中心

1.什么是配置中心

  • 首先讲讲什么是配置

    一般来说,一个系统从发布到最终呈现给用户的步骤是先从配置文件中读取配置,诸如数据库连接池配置、线程池配置、还有与其他系统交互时需要的相关参数等等。因为我们的程序不可能做到太死板,总要留一些可以随程序运行而动态改变的参数,也可以理解为通过这些配置,我们可以在程序里动态的控制程序 运行时的状态。比如在配置a下的行为,在配置b下的行为。用一个比较专业点的词来说,也就是系统运行时(runtime)飞行姿态的动态调整

    举个例子,如我们在程序中配置key-value类型的开关,我们就可以通过开关来控制程序是否要执行指定的业务逻辑。典型的例子是日志级别,我们开发和生产环境中的日志级别可能不一样,开发中我们需要看到更多的日志信息,因此可以设置logLevel=info,但在生产中可能就是debug或者warn级别的了。

    早期都是通过配置文件来读取配置的,需要的配置都在文件中直接添加诸如config-key=config-value这种方式对于集中式开发来说还是比较方便的,如果需要修改配置,只需编辑配置文件后重启服务即可。然而随着目前分布式、微服务架构的崛起。配置文件似乎已经不那么实用了,一次上线可能涉及到多台机器的打包、重启,大型系统甚至有上千万的机器,其中的耗时可想而知,远不是单机时代发布一下就能解决的。如何保证在分布式集群中不停机,保持系统运行时的飞行姿态,这就是配置中心要解决的问题了。

    配置有以下的属性:

  • 配置是独立于程序的只读变量
    – 配置独立于程序,同一个程序在不同配置下有不同的行为
    –程序可以根据配置更改自己的行为,但一般不可以更改配置

  • 配置伴随应用的整个生命周期
    – 程序在启动时根据配置进行初始化,在运行时根据配置来决定行为

  • 配置可以有多种加载方式
    – 如配置文件、环境变量、启动参数等

  • 配置需要治理
    – 权限控制
    – 不同集群治理
    例如不同集群、开发、测试、生产环境配置不同,不同数据库实例配置不同
    – 框架

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值