###
1、总体设计
apollo社区文章地址: https://www.apolloconfig.com/#/zh/README
1.1 基础模型
如下即是Apollo的基础模型:
用户在配置中心对配置进行修改并发布
配置中心通知Apollo客户端有配置更新
Apollo客户端从配置中心拉取最新的配置、更新本地配置并通知到应用
![](https://img2020.cnblogs.com/blog/1274745/202107/1274745-20210723175557614-547575258.png)
1.2 架构模块
下图是Apollo架构模块的概览,详细说明可以参考Apollo配置中心架构剖析。
![](https://img2020.cnblogs.com/blog/1274745/202107/1274745-20210723175747927-590670506.png)
上图简要描述了Apollo的总体设计,我们可以从下往上看: Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端 Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面) Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心跳 在Eureka之上我们架了一层Meta Server用于封装Eureka的服务发现接口 Client通过域名访问Meta Server获取Config Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Client侧会做load balance、错误重试 Portal通过域名访问Meta Server获取Admin Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Portal侧会做load balance、错误重试 为了简化部署,我们实际上会把Config Service、Eureka和Meta Server三个逻辑角色部署在同一个JVM进程中
2、apollo官网地址
apollo官方地址: https://github.com/ctripcorp/apollo
克隆或者下载apollo zip源码
git clone https://github.com/ctripcorp/apollo.git
或者
wget https://github.com/ctripcorp/apollo/archive/refs/heads/master.zip
代码文件目录结构
3、在自建mysql对应库中执行如下两个sql
执行数据库sql
![](https://img2020.cnblogs.com/blog/1274745/202107/1274745-20210723165739595-539654431.png)
4、修改配置文件
vim /scripts/shell/apollo_code/apollo-master/scripts/build.sh
![](https://img2020.cnblogs.com/blog/1274745/202107/1274745-20210723165337368-1108687046.png)
5、将本地maven镜像仓库替换为阿里云镜像仓库(如果不替换 下载包可能会报错)
替换方法:
https://www.cnblogs.com/faithH/p/15049601.html
6、构建apollo项目
sh /scripts/shell/apollo_code/apollo-master/scripts/build.sh
![](https://img2020.cnblogs.com/blog/1274745/202107/1274745-20210723171218215-1350176707.png)
7、复制构建文件到自定目录
![](https://img2020.cnblogs.com/blog/1274745/202107/1274745-20210723173115509-667350005.png)
8、解压文件到指定目录
![](https://img2020.cnblogs.com/blog/1274745/202107/1274745-20210723173600517-1188625026.png)
9、修改portal、configservice、adminservice配置文件(本次只用了pro和dev环境)
![](https://img2020.cnblogs.com/blog/1274745/202107/1274745-20210723174448490-1858213755.png)
10、启动服务(启动顺序:configservice > adminservice > poral)
![](https://img2020.cnblogs.com/blog/1274745/202107/1274745-20210723180931320-1219122128.png)
11、登录网站查看(apollo登录账号:apollo,密码:admin)
![](https://img2020.cnblogs.com/blog/1274745/202107/1274745-20210723181154776-1655066571.png)
###