Apollo配置中心

Apollo是携程开源的配置管理中心,支持应用、环境、集群、命名空间四个维度管理配置,实现配置的统一管理和实时推送。它提供了版本发布管理、灰度发布、权限审核等功能,确保配置管理的安全和高效。安装步骤包括设置数据库连接信息, Apollo客户端可以通过注解启用配置,实现配置的热更新。文章还介绍了Apollo的核心概念,如Namespace的格式、权限分类和类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LD is tigger forever,CG are not brothers forever, throw the pot and shine forever.
Modesty is not false, solid is not naive, treacherous but not deceitful, stay with good people, and stay away from poor people.
talk is cheap, show others the code and KPI, Keep progress,make a better result.
Survive during the day and develop at night。

目录

概 述

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

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

作用:

统一管理不同环境、不同集群的配置
Apollo提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace)的配置。

同一份代码部署在不同的集群,可以有不同的配置,比如zookeeper的地址等

通过命名空间(namespace)可以很方便地支持多个不同应用共享同一份配置,同时还允许应用对共享的配置进行覆盖

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

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

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

灰度发布

支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例
权限管理、发布审核、操作审计

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

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

作用:

Apollo的核心概念介绍
Namespace
Namespace就相当于spring boot项目中的配置文件,例如namespace中有默认的application,格式为properties,则对应着application.properties。

1 Namespace的格式
配置文件有多种格式,例如:properties、xml、yml、yaml、json等。同样Namespace也具有这些格式。
2 Namespace的获取权限分类
Namespace的获取权限分为两种:

private (私有的)
public (公共的)
这里的获取权限是相对于Apollo客户端来说的。
3. Namespace的类型
Namespace类型有三种:

私有类型
公共类型
关联类型(继承类型)

. 安装步骤

Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,数据库、表的创建和样例数据都分别准备了sql文件,只需要导入数据库即可。
2.2 配置数据库连接信息
Apollo服务端需要知道如何连接到你前面创建的数据库,所以需要编辑demo.sh,修改ApolloPortalDB和ApolloConfigDB相关的数据库连接串信息。

注意:填入的用户需要具备对ApolloPortalDB和ApolloConfigDB数据的读写权限。

Apollo配置中心
Apollo支持基于Spring Boot、基于Java、基于XML等等多种方式的配置
app:
id: test-app

apollo:
meta: http://localhost:8080
#cluster: myCluster
#cacheDir: /opt/testDir
bootstrap:
enable: true
namespaces: application

env: DEV

Apollo客户端的使用

Apollo客户端的使用

可以以类的方式作为bean加载入Spring,例如

 @EnableApolloConfig
 @Configuration
 Class A {

     @Bean
     public getB() {
         return new B();
     }
 }

 Class B {
 
     private int x;

     public void setX(int x) {
         this.x = x;
     }

     public int getX() {
         return this.x;
     }
 }

小结

参考

资料和推荐阅读

1.链接: 参考资料.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迅捷的软件产品制作专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值