Apollo 配置中心使用教程
项目介绍
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
项目快速启动
环境准备
- JDK 1.8+
- MySQL 5.6.5+
- Maven 3.6.0+
下载源码
git clone https://github.com/apolloconfig/apollo.git
cd apollo
数据库初始化
在 MySQL 中创建数据库 ApolloConfigDB
和 ApolloPortalDB
,然后执行以下 SQL 脚本:
scripts/sql/apolloportaldb.sql
scripts/sql/apolloconfigdb.sql
启动 Apollo
- 启动 Config Service & Admin Service
cd scripts/build.sh
./build.sh start
- 启动 Portal
cd apollo-portal/target
java -jar apollo-portal-1.x.x.jar
访问 Apollo
打开浏览器,访问 http://localhost:8070
,默认账号密码为 apollo/admin
。
应用案例和最佳实践
应用案例
Apollo 在携程内部已经广泛应用于各个业务线,支持了数千个应用的配置管理。以下是一些典型的应用场景:
- 动态配置更新:无需重启应用即可实时更新配置。
- 多环境管理:支持开发、测试、生产等多环境配置管理。
- 权限控制:细粒度的权限控制,确保配置安全。
最佳实践
- 配置中心选型:根据业务需求选择合适的配置中心,Apollo 适用于大规模分布式系统。
- 配置规范:制定统一的配置命名规范和格式,便于管理和维护。
- 权限管理:合理分配权限,确保配置变更的可追溯性和安全性。
典型生态项目
Spring Boot 集成
Apollo 提供了 Spring Boot Starter,可以方便地集成到 Spring Boot 项目中。
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.x.x</version>
</dependency>
在 application.properties
中配置 Apollo 地址:
apollo.meta=http://localhost:8080
apollo.bootstrap.enabled=true
Kubernetes 集成
Apollo 可以与 Kubernetes 集成,实现配置的动态管理和更新。
apiVersion: v1
kind: ConfigMap
metadata:
name: apollo-config
data:
application-dev.properties: |
app.id=your-app-id
apollo.meta=http://apollo-configservice:8080
通过 ConfigMap 将 Apollo 配置注入到 Kubernetes 容器中。
通过以上步骤,您可以快速启动并使用 Apollo 配置中心,实现高效的配置管理。