Apollo配置中心快速入门指南
apollo 项目地址: https://gitcode.com/gh_mirrors/ap/apollo
前言
Apollo是一款开源的分布式配置中心,能够集中化管理应用在不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。本文将详细介绍如何在本地环境快速部署和体验Apollo配置中心。
环境准备
Java环境要求
Apollo对Java环境有明确要求:
- 服务端:Java 1.8+
- 客户端:Java 1.8+
- 如需在Java 1.7环境下运行客户端,需使用1.x版本的Apollo客户端
验证Java版本命令:
java -version
MySQL数据库要求
如果选择使用MySQL作为存储:
- 版本要求:5.6.5+
- 原因:Apollo表结构使用了多个timestamp的default声明,需要MySQL 5.6.5+支持
验证MySQL版本命令:
SHOW VARIABLES WHERE Variable_name = 'version';
安装包获取
Apollo提供了Quick Start安装包,包含完整依赖和内置Tomcat容器,方便快速启动:
- 下载预编译包(约50M)
- 解压后即可使用
安装包较大的原因是包含了所有依赖jar包和内置Tomcat容器
数据库配置与启动
Apollo支持多种数据库存储方式,下面分别介绍:
1. H2内存数据库(测试用)
特点:
- 无需额外配置
- 进程重启后数据丢失
启动命令:
export SPRING_PROFILES_ACTIVE="github,database-discovery,auth"
java -jar apollo-all-in-one.jar
2. H2文件数据库
特点:
- 数据持久化到文件
- 需要指定存储路径
首次启动(初始化数据库):
export SPRING_PROFILES_ACTIVE="github,database-discovery,auth"
export SPRING_SQL_CONFIG_INIT_MODE="always"
export SPRING_CONFIG_DATASOURCE_URL="jdbc:h2:file:~/apollo/apollo-config-db;..."
export SPRING_SQL_PORTAL_INIT_MODE="always"
export SPRING_PORTAL_DATASOURCE_URL="jdbc:h2:file:~/apollo/apollo-portal-db;..."
java -jar apollo-all-in-one.jar
后续启动(去掉初始化参数):
unset SPRING_SQL_CONFIG_INIT_MODE
unset SPRING_SQL_PORTAL_INIT_MODE
# 其他参数保持不变
3. MySQL数据库(推荐生产使用)
特点:
- 生产环境推荐
- 需要提前准备MySQL实例
首次启动(初始化数据库):
export SPRING_PROFILES_ACTIVE="github,database-discovery,auth"
export SPRING_SQL_CONFIG_INIT_MODE="always"
export SPRING_CONFIG_DATASOURCE_URL="jdbc:mysql://your-mysql-server:3306/ApolloConfigDB..."
export SPRING_CONFIG_DATASOURCE_USERNAME="your-username"
export SPRING_CONFIG_DATASOURCE_PASSWORD="your-password"
# Portal DB类似配置
java -jar apollo-all-in-one.jar
后续启动(去掉初始化参数):
unset SPRING_SQL_CONFIG_INIT_MODE
unset SPRING_SQL_PORTAL_INIT_MODE
# 其他参数保持不变
4. 手动初始化MySQL
步骤:
- 手动执行SQL脚本初始化ApolloConfigDB和ApolloPortalDB
- 启动时无需初始化参数
使用Apollo配置中心
1. 初始化样例配置
- 访问
http://localhost:8070
,使用默认账号apollo/admin登录 - 创建名为SampleApp的应用
- 添加配置项(如timeout:1000)
- 发布配置
2. 运行客户端程序
Apollo提供了简单的Demo客户端演示配置获取:
- 运行
./demo.sh client
启动客户端 - 输入配置项名称(如timeout)查看值
- 客户端会自动监听配置变化
3. 修改配置并观察
- 在Portal修改配置值(如timeout改为2000)
- 发布配置
- 观察客户端控制台,会自动收到配置变更通知
- 再次查询配置值,已更新为新值
4. 新项目接入
- 在Portal创建新应用
- 修改客户端app.id为新应用ID
- 启动客户端即可接入新应用配置
注意事项
- Quick Start仅适用于本地测试,生产环境请参考分布式部署方案
- 默认占用8070、8080、8090端口,请确保端口可用
- Quick Start不支持新增环境,分布式部署才支持多环境
总结
通过本文的Quick Start,您可以快速体验Apollo的核心功能。Apollo作为配置中心,提供了配置集中管理、实时推送、版本管理、灰度发布等企业级特性,是微服务架构中不可或缺的基础组件。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考