Apollo配置中心本地开发环境搭建指南

Apollo配置中心本地开发环境搭建指南

apollo apollo 项目地址: https://gitcode.com/gh_mirrors/ap/apollo

前言

Apollo是一款开源的配置中心系统,由携程框架部门研发。它能够集中化管理应用在不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。本文将详细介绍如何在本地搭建Apollo的开发环境,帮助开发者快速上手并进行二次开发。

环境准备

基础软件要求

在开始本地开发之前,需要确保开发机器上已经安装了以下软件:

  1. Java开发环境:JDK 1.8或更高版本
  2. 数据库
    • MySQL 5.6.5+(如果使用H2内存数据库/文件数据库,则无需安装MySQL)
  3. 开发工具:推荐使用IntelliJ IDEA,但其他IDE如Eclipse也可以

数据库准备

如果选择使用MySQL作为Apollo的存储数据库,需要执行以下步骤:

  1. 创建两个数据库:ApolloConfigDB和ApolloPortalDB
  2. 执行项目提供的SQL脚本初始化数据库表结构

项目结构与模块

Apollo项目采用模块化设计,主要包含以下几个核心模块:

  1. apollo-configservice:配置服务,提供配置获取、推送等功能
  2. apollo-adminservice:管理服务,提供配置修改、发布等功能
  3. apollo-portal:配置中心门户,提供用户界面
  4. apollo-assembly:聚合模块,方便本地开发时同时启动所有服务

本地启动配置

使用apollo-assembly启动

在本地开发时,最便捷的方式是通过apollo-assembly模块启动所有服务:

  1. 在IDE中创建新的运行配置
  2. 设置Main Class为com.ctrip.framework.apollo.assembly.ApolloApplication
  3. 配置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

服务验证

启动成功后,可以通过以下方式验证服务是否正常运行:

  1. 访问http://localhost:8080查看Eureka注册中心,确认configservice和adminservice已注册
  2. 访问http://localhost:8070打开Portal界面
    • 如果启用了auth profile,默认用户名/密码为apollo/admin
  3. 健康检查接口:
    • adminservice: http://localhost:8090/health
    • configservice: http://localhost:8080/health
    • 健康状态应为UP

客户端开发与测试

Java客户端示例

  1. 在项目中配置AppId(应用的唯一标识)
  2. 创建运行配置,Main Class设置为com.apolloconfig.apollo.demo.api.SimpleApolloConfigDemo
  3. 配置VM参数指定Meta Server地址:
    -Dapollo.meta=http://localhost:8080
    
  4. 运行后可以通过控制台输入配置键名获取对应值

.NET客户端示例

  1. 在App.config中配置AppId
  2. 配置服务地址(Apollo.{ENV}.Meta)
  3. 运行示例程序,通过控制台交互测试配置获取

开发建议

  1. 模块依赖:了解各模块间的依赖关系,避免循环依赖
  2. 日志调试:合理设置日志级别(DEBUG/INFO等)便于问题排查
  3. 配置管理:熟悉Apollo的配置管理机制,包括Namespace、Cluster等概念
  4. 扩展开发:可以根据需要实现用户登录、邮件服务等扩展功能

常见问题

  1. 服务启动失败:检查数据库连接配置是否正确,日志中有无异常信息
  2. 配置获取不到:确认AppId配置正确,Meta Server地址无误
  3. 权限问题:如果启用了auth profile,确保使用正确的用户名密码登录

通过本文的指导,开发者应该能够在本地顺利搭建Apollo的开发环境,并开始进行功能开发或自定义扩展。Apollo作为一款成熟的配置中心解决方案,其模块化设计和清晰的接口定义为二次开发提供了良好的基础。

apollo apollo 项目地址: https://gitcode.com/gh_mirrors/ap/apollo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龚隽娅Percy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值