目录
一、简介
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。
Java客户端 不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。
.Net客户端 不依赖任何框架,能够运行于所有.Net运行时环境。
官方 GitHub: https://github.com/ctripcorp/apollo
官方 Gitee:https://gitee.com/nobodyiam/apollo
二、安装部署
2.1 环境准备
windows操作系统(可选)
git(可选)
IntelliJ IDEA:2020.1.1(可选)
java: JDK 1.8.+
maven: 3.3.9
mysql: 版本要求(5.6.5+)
查看数据库版本:
SHOW VARIABLES WHERE Variable_name = 'version';
Apollo服务端: 1.9+ Apollo客户端: 1.7+
2.2 安装包下载
-
源码下载 从(Apollo-github) 下载最新的源码,也可以通过 git 命令下载到本地
git clone https://github.com/ctripcorp/apollo
注意: 本教程中使用的方式为安装包下载,进行演示。
2.3 创建数据库
Apollo 服务端总共需要两个数据库:apolloportaldb
和 apolloconfigdb
我们可以在下载的源码包里面找到,文件目录为:apollo-x.x.x\scripts\sql
,路径如下图所示:
#导入成功后,验证SQL:
select * from `ApolloPortalDB`.`ServerConfig`;
#导入成功后,验证SQL:
select * from `ApolloConfigDB`.`ServerConfig`;
2.4 服务端配置调整(可选项)
1. ApolloPortalDB库配置
操作表:ServerConfig
2. ApolloConfigDB库配置
操作表:ServerConfig
2.5 打包工程
在下载下来的 Apollo 源码中找到 build.bat
的文件(Linux 是 bulid.sh)采用编辑方式打开
修改数据库配置信息,注意这是两个库(ApolloPortalDB
和 ApolloConfigDB
):
注意: 数据库连接,需要添加serverTimezone=UTC
否则可能会报错.
set apollo_config_db_url="jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=UTC"
set apollo_config_db_username="root"
set apollo_config_db_password="123456"
set apollo_portal_db_url="jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=UTC"
set apollo_portal_db_username="root"
set apollo_portal_db_password="123456"
set dev_meta="http://localhost:8080"
set fat_meta="http://someIp:8080"
set uat_meta="http://anotherIp:8080"
set pro_meta="http://yetAnotherIp:8080"
修改完上面的配置以后,我们就可以执行build.bat
批处理命令进行编译打包。 在windows 运行build.bat
文件,如果是Linux 运行 build.sh
第一次会执行比较慢,耐心等待。
打包成功后界面如下:
找到 apollo-configservice、apollo-adminservice、apollo-portal
下target 目录,找到已经打好的三个jar包,copy 出来放到一个单独的目录,并用记事本新建一个脚本文件,方便我们启动。
启动顺序为:apollo-configservice > apollo-adminservice > apollo-portal
三个服务
如下图所示:
脚本文件的内容如下:
@echo off
start cmd /c "java -jar apollo-configservice-1.10.0-SNAPSHOT.jar"
start cmd /c "java -jar apollo-adminservice-1.10.0-SNAPSHOT.jar"
start cmd /c "java -jar apollo-portal-1.10.0-SNAPSHOT.jar"
spause
执行启动脚本.bat文件,出现以下界面后:
打开浏览器输入:http://localhost:8070/,看到 Apollo 登录页面说明启动成功
用户名/密码: apollo/admin
输入 http://localhost:8080 ,如果出现eureka 的管理界面,说明服务启动正常。
输入 http://localhost:8090 ,可看到内容,说明服务启动正常。