Apollo(阿波罗)是携程框架部门研发的配置管理平台,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring环境也有较好的支持。.Net客户端不依赖任何框架,能够运行于所有.Net运行时环境,而且已经支持.NET Core。
官网:https://github.com/ctripcorp/apollo
Wiki:https://github.com/ctripcorp/apollo/wiki(一切的集成方式和使用方法都在这里)
Issues:https://github.com/ctripcorp/apollo/issues(如果期间有任何问题,请通过这里查找大部分解决方法)
说明:官方提供了分布式部署方案,但是基于本地开发和调试上一般是单机部署的比较多。且提供的Quick Start方案跑不起来。所以下面将针对单机搭建上做详细的实践,用作开发环境。
注意:如果是生产环境一定要使用分布式部署方案来做高可用集群。
下载Release版本:https://github.com/ctripcorp/apollo/releases
1、环境:
JDK:1.8.0_161
Maven:3.5.2
MySQL:5.7.18
apollo:0.9.1
2、解压
wget https://github.com/ctripcorp/apollo/archive/v0.9.1.tar.gz
tar zxvf apollo-0.9.1.tar.gz
3、导入数据库文件
登录MySQL命令行,然后执行
/data/apollo/apollo-0.9.1/scripts/sql/apolloconfigdb.sql
/data/apollo/apollo-0.9.1/scripts/sql/apolloportaldb.sql
4、打包
修改/data/apollo/apollo-0.9.1/scripts/build.sh,把数据库账号密码修改为我们的密码以及mysql 服务器地址。只保留dev_meta,其他的都删除
#
dev_meta=http://localhost:8080
META_SERVERS_OPTS="-Ddev_meta=$dev_meta"
然后执行
./build.sh
该脚本会依次打包apollo-configservice, apollo-adminservice, apollo-portal和apollo-client。
5、启动
apollo-configservice:
切换到目录 /data/apollo/apollo-0.9.1/apollo-configservice/target,解压apollo-configservice-0.9.1-github.zip
unzip apollo-configservice-0.9.1-github.zip –d test
执行脚本启动服务
./startup.sh
apollo-adminservice:
切换到目录 /data/apollo/apollo-0.9.1/apollo-adminservice/target,解压apollo-adminservice-0.9.1-github.zip
unzip apollo-adminservice-0.9.1-github.zip –d test
执行脚本启动服务
./startup.sh
apollo-portal:
apollo-portal的默认端口是8080,和apollo-configservice一致,所以如果需要在一台机器上同时启动apollo-portal和apollo-configservice的话,需要修改apollo-portal的端口。直接修改startup.sh中的SERVER_PORT即可,如SERVER_PORT=8070。
切换到目录 /data/apollo/apollo-0.9.1/apollo-portal/target,解压apollo-portal-0.9.1-github.zip
unzip apollo-portal-0.9.1-github.zip –d test
修改端口:
执行脚本启动服务
./startup.sh
6、访问
http://localhost:8070 ,默认用户名/密码参考 Portal 实现用户登录功能。