本文是依据apollo的官方部署文档实践后总结得出的经验,本文着重记录部署过程和容易遇到的问题,详细信息在官方文档有阐述
官方文档地址:https://github.com/ctripcorp/apollo/wiki/
前言
首先要明白的问题是:apollo是什么?apollo能干什么?
每当我们学习使用一种应用之前最重要的就是要明白这个应用能做什么,能解决什么问题,这样的话在学习这个应用如何使用的时候才不会觉得抽象。
apollo是一个配置中心,顾名思义,所谓配置中心就是将各种配置项集中在一起并且能够提供服务的应用。那么什么情况下需要用到apollo呢?当你感觉你的业务配置文件过于繁杂,臃肿,每次上线需要重新部署代码显得配置更改不灵活,许多开关无法快速更改。这个时候就是需要apollo的时候了。
一,准备工作
1.1 JAVA版本
apollo的服务端打包是需要1.8版本的java,客户端需要1.7以上的java,因为第一次打包(运行build.sh)是会把客户端和服务端一起打包的,所以这里直接用1.8就行了
1.2 MySQL版本
在此文档编写的时候apollo要求的版本是5.6.5以上,但是官方文档也提供了使用较低版本mysql的办法,我这里用的是mariadb-10.3.7
1.3 maven版本
maven的版本这里会有一个坑,即使用centos7的默认yum源安装的maven版本也过低,用过低的maven版本在执行从github上克隆下来的apollo项目目录中的构建脚本build.sh的时候就会报错,所以这里必须使用较新版maven或者最新版。
二,部署
2.1 创建数据库
apollo是一个配置文件储存在数据库里的项目,所以数据库改动会比较多一些。
Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,这两个库有现成的sql文件可以直接导入
登陆数据库后执行:
so