Apollo配置中心快速入门指南
前言
Apollo配置中心是一款开源的分布式配置管理系统,由携程框架部门研发并开源。它能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
本文将详细介绍如何在本地环境中快速部署和启动Apollo配置中心,帮助开发者快速体验Apollo的核心功能。
环境准备
Java环境要求
Apollo服务端和客户端对Java版本有不同要求:
- 服务端:Java 1.8+
- 客户端:Java 1.8+
- 如需在Java 1.7环境下运行,请使用1.x版本的客户端,如1.9.1
验证Java版本命令:
java -version
数据库选择
Apollo支持多种数据库存储方式:
- H2内存数据库:适合快速体验,数据不持久化
- H2文件数据库:数据持久化到本地文件
- MySQL数据库:生产环境推荐使用
如果选择MySQL,需注意:
- 版本要求:5.6.5+
- 原因:Apollo表结构使用了
timestamp
的多重默认声明
验证MySQL版本命令:
SHOW VARIABLES WHERE Variable_name = 'version';
安装包获取
Apollo提供了快速启动安装包,开发者可以直接下载使用,无需自行编译打包。安装包约50MB,包含所有依赖jar包和内置Tomcat容器。
下载方式
- 官方提供的快速启动安装包
- 百度网盘下载(适合无法访问官方源的场景)
安装包内容说明
快速启动包是一个自包含的jar文件,内置了:
- Apollo所有服务组件(ConfigService、AdminService、Portal)
- 所有依赖的第三方库
- 嵌入式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数据库配置类似
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. 修改配置并发布
- 返回管理界面修改配置值(如timeout改为2000)
- 发布新配置
- 观察客户端自动获取新配置的过程
4. 接入自己的应用
- 在管理界面创建新项目
- 修改客户端配置(app.id)
- 按照Java应用接入指南集成Apollo客户端
注意事项
- 快速启动方式仅适用于本地测试环境
- 生产环境请参考分布式部署指南
- 快速启动不支持环境添加功能
- 默认占用端口:8070、8080、8090,请确保这些端口可用
总结
通过本文的快速入门指南,开发者可以在本地快速搭建Apollo配置中心环境,体验配置管理、实时推送等核心功能。Apollo作为一款成熟的配置中心解决方案,能够有效解决微服务架构下的配置管理难题,建议开发者进一步探索其高级功能和生产环境部署方案。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考