Apollo配置中心本地开发环境搭建指南
apollo 项目地址: https://gitcode.com/gh_mirrors/ap/apollo
前言
Apollo配置中心是一款开源的分布式配置管理系统,由携程框架部门研发。本文将详细介绍如何在本地搭建Apollo的开发环境,帮助开发者快速上手并进行二次开发。
环境准备
基础环境要求
在开始本地开发前,需要确保以下组件已安装并配置完成:
- Java环境:JDK 1.8及以上版本
- 数据库:
- MySQL 5.6.5+(推荐)
- 或H2内存数据库(仅用于简单测试)
- 开发工具:IntelliJ IDEA、Eclipse等主流IDE
数据库初始化
如果选择MySQL作为数据库,需要执行以下步骤:
- 创建ApolloConfigDB和ApolloPortalDB两个数据库
- 执行项目中的SQL初始化脚本:
- apolloconfigdb.sql(配置服务数据库)
- apolloportaldb.sql(门户服务数据库)
本地启动Apollo服务
整体架构理解
Apollo主要由三个核心服务组成:
- ConfigService:配置服务,提供配置获取、推送等功能
- AdminService:配置管理服务,提供配置修改、发布等功能
- Portal:配置管理界面
使用IDE启动Assembly模块
Assembly模块可以一次性启动所有服务,适合本地开发调试:
-
创建运行配置:
- 主类:
com.ctrip.framework.apollo.assembly.ApolloApplication
- 主类:
-
VM参数配置:
-Dapollo_profile=github,auth -Dspring.config-datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB -Dspring.config-datasource.username=root -Dspring.config-datasource.password=123456 -Dspring.portal-datasource.url=jdbc:mysql://localhost:3306/ApolloPortalDB -Dspring.portal-datasource.username=root -Dspring.portal-datasource.password=123456
-
启动服务:
- 运行配置后,各服务将启动:
- ConfigService: 8080端口
- AdminService: 8090端口
- Portal: 8070端口
- 运行配置后,各服务将启动:
-
验证服务:
- 访问Eureka页面(http://localhost:8080)查看服务注册状态
- 访问Portal界面(http://localhost:8070),默认用户名apollo/密码admin
客户端接入示例
Java客户端示例
-
配置AppId:
- 在app.properties中设置应用的唯一标识:
app.id=your-app-id
- 在app.properties中设置应用的唯一标识:
-
配置Meta Server:
- 通过VM参数指定配置中心地址:
-Dapollo.meta=http://localhost:8080
- 通过VM参数指定配置中心地址:
-
运行示例:
- 主类:
com.apolloconfig.apollo.demo.api.SimpleApolloConfigDemo
- 启动后可通过控制台交互式查询配置
- 主类:
.NET客户端示例
-
配置AppId:
- 在App.config中设置:
<add key="AppID" value="your-app-id"/>
- 在App.config中设置:
-
配置服务地址:
- 在配置文件中指定环境对应的Meta Server地址
-
运行示例:
- 直接运行ApolloConfigDemo.cs
- 启动后可通过控制台交互式查询配置
开发指南
模块依赖关系
Apollo项目采用模块化设计,主要模块包括:
- apollo-common:公共组件
- apollo-core:核心功能
- apollo-client:客户端SDK
- apollo-configservice:配置服务
- apollo-adminservice:管理服务
- apollo-portal:管理门户
扩展开发
-
自定义用户认证:
- 实现UserService接口
- 配置自定义认证实现类
-
邮件服务集成:
- 配置SMTP服务器信息
- 实现邮件发送逻辑
-
集群会话共享:
- 配置Redis等分布式缓存
- 实现Session存储方案
常见问题排查
-
服务启动失败:
- 检查数据库连接配置
- 验证数据库表结构是否完整
-
客户端无法获取配置:
- 确认AppId配置正确
- 检查Meta Server地址是否可达
-
Portal登录问题:
- 确认auth profile已启用
- 检查用户数据是否初始化
通过本文的指导,开发者可以快速搭建Apollo配置中心的本地开发环境,并了解基本的开发流程和扩展方式。在实际开发过程中,建议先熟悉Apollo的整体架构和核心概念,再进行定制化开发。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考