Apollo配置中心本地开发环境搭建指南
apollo 项目地址: https://gitcode.com/gh_mirrors/ap/apollo
前言
Apollo是一款开源的配置中心系统,由携程框架部门研发。它能够集中化管理应用在不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。本文将详细介绍如何在本地搭建Apollo的开发环境,帮助开发者快速上手并进行二次开发。
环境准备
基础软件要求
在开始本地开发之前,需要确保开发机器上已经安装了以下软件:
- Java开发环境:JDK 1.8或更高版本
- 数据库:
- MySQL 5.6.5+(如果使用H2内存数据库/文件数据库,则无需安装MySQL)
- 开发工具:推荐使用IntelliJ IDEA,但其他IDE如Eclipse也可以
数据库准备
如果选择使用MySQL作为Apollo的存储数据库,需要执行以下步骤:
- 创建两个数据库:ApolloConfigDB和ApolloPortalDB
- 执行项目提供的SQL脚本初始化数据库表结构
项目结构与模块
Apollo项目采用模块化设计,主要包含以下几个核心模块:
- apollo-configservice:配置服务,提供配置获取、推送等功能
- apollo-adminservice:管理服务,提供配置修改、发布等功能
- apollo-portal:配置中心门户,提供用户界面
- apollo-assembly:聚合模块,方便本地开发时同时启动所有服务
本地启动配置
使用apollo-assembly启动
在本地开发时,最便捷的方式是通过apollo-assembly模块启动所有服务:
- 在IDE中创建新的运行配置
- 设置Main Class为
com.ctrip.framework.apollo.assembly.ApolloApplication
- 配置VM参数:
其中:-Dapollo_profile=github,auth
github
profile用于数据库配置auth
profile启用简单的Spring Security认证
数据库连接配置
如果需要连接MySQL数据库,需要添加以下VM参数:
-Dspring.config-datasource.url=jdbc:mysql://your-mysql-server:3306/ApolloConfigDB?useUnicode=true&characterEncoding=UTF8
-Dspring.config-datasource.username=your-username
-Dspring.config-datasource.password=your-password
-Dspring.portal-datasource.url=jdbc:mysql://your-mysql-server:3306/ApolloPortalDB?useUnicode=true&characterEncoding=UTF8
-Dspring.portal-datasource.username=your-username
-Dspring.portal-datasource.password=your-password
日志配置
默认日志输出路径为/opt/logs/100003171/apollo-assembly.log
,如需修改可通过以下参数指定:
-Dlogging.file.name=/your-path/apollo-assembly.log
服务验证
启动成功后,可以通过以下方式验证服务是否正常运行:
- 访问
http://localhost:8080
查看Eureka注册中心,确认configservice和adminservice已注册 - 访问
http://localhost:8070
打开Portal界面- 如果启用了auth profile,默认用户名/密码为apollo/admin
- 健康检查接口:
- adminservice:
http://localhost:8090/health
- configservice:
http://localhost:8080/health
- 健康状态应为
UP
- adminservice:
客户端开发与测试
Java客户端示例
- 在项目中配置AppId(应用的唯一标识)
- 创建运行配置,Main Class设置为
com.apolloconfig.apollo.demo.api.SimpleApolloConfigDemo
- 配置VM参数指定Meta Server地址:
-Dapollo.meta=http://localhost:8080
- 运行后可以通过控制台输入配置键名获取对应值
.NET客户端示例
- 在App.config中配置AppId
- 配置服务地址(Apollo.{ENV}.Meta)
- 运行示例程序,通过控制台交互测试配置获取
开发建议
- 模块依赖:了解各模块间的依赖关系,避免循环依赖
- 日志调试:合理设置日志级别(DEBUG/INFO等)便于问题排查
- 配置管理:熟悉Apollo的配置管理机制,包括Namespace、Cluster等概念
- 扩展开发:可以根据需要实现用户登录、邮件服务等扩展功能
常见问题
- 服务启动失败:检查数据库连接配置是否正确,日志中有无异常信息
- 配置获取不到:确认AppId配置正确,Meta Server地址无误
- 权限问题:如果启用了auth profile,确保使用正确的用户名密码登录
通过本文的指导,开发者应该能够在本地顺利搭建Apollo的开发环境,并开始进行功能开发或自定义扩展。Apollo作为一款成熟的配置中心解决方案,其模块化设计和清晰的接口定义为二次开发提供了良好的基础。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考