Apollo配置中心简介

一、简介

Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同 环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,是为一个具备治理能力的配置发布平台。
Apollo 支持 4 个维度配置管理:
1)application (应用)
2)environment (环境)
3)cluster (集群)
4)namespace (命名空间)-版本管理

二、主要功能

2.1、统一管理不同环境、不同集群的配置

Apollo 提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、 不同命名空间(namespace)的配置。
同一份代码部署在不同的集群,可以有不同的配置,比如 zookeeper 的地址等。
通过命名空间(namespace)可以很方便地支持多个不同应用共享同一份配置,同时还 允许应用对共享的配置进行覆盖。

2.2、配置修改实时生效(热发布)

在Apollo 修改完配置并发布后,客户端能实时(1 秒)接收到最新的配置,并通知到应用程序。

2.3、版本发布管理

所有的配置发布都有版本概念,从而可以方便地支持配置的回滚。

2.4、灰度发布

支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问 题后再推给所有应用实例。

2.5、权限管理、发布审核、操作审计

应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。 所有的操作都有审计日志,可以方便地追踪问题。

2.6、客户端配置信息监控

可以在界面上方便地看到配置在被哪些实例使用。

2.7、提供 Java 和.Net 原生客户端

提供了 Java 和.Net 的原生客户端,方便应用集成 支持 Spring Placeholder, Annotation 和 Spring Boot 的 ConfigurationProperties,方便应用 使用(需要 Spring 3.1.1+)。同时提供了 Http 接口,非 Java 和.Net 应用也可以方便地使用。

2.8、提供开放平台 API

Apollo 自身提供了比较完善的统一配置管理界面,支持多环境、多数据中心配置管理、 权限、流程治理等特性。不过 Apollo 出于通用性考虑,不会对配置的修改做过多限制,只 要符合基本的格式就能保存,不会针对不同的配置值进行针对性的校验,如数据库用户名、 密码,Redis 服务地址等。
对于这类应用配置,Apollo 支持应用方通过开放平台 API 在 Apollo 进行配置的修改和发布,并且具备完善的授权和权限控制。

2.9、部署简单

配置中心作为基础服务,可用性要求非常高,这就要求 Apollo 对外部依赖尽可能地少,唯一的外部依赖是 MySQL数据库。
Apollo 还提供了打包脚本,一键就可以生成所有需要的安装包,并且支持自定义运行时参数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值