###

1、总体设计



apollo社区文章地址:
  https://www.apolloconfig.com/#/zh/README


 

1.1 基础模型



如下即是Apollo的基础模型:

用户在配置中心对配置进行修改并发布
配置中心通知Apollo客户端有配置更新
Apollo客户端从配置中心拉取最新的配置、更新本地配置并通知到应用


1.2 架构模块



下图是Apollo架构模块的概览,详细说明可以参考Apollo配置中心架构剖析。
上图简要描述了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

apollo源码部署_服务列表

4、修改配置文件



vim /scripts/shell/apollo_code/apollo-master/scripts/build.sh


5、将本地maven镜像仓库替换为阿里云镜像仓库(如果不替换 下载包可能会报错)



替换方法:



6、构建apollo项目



sh /scripts/shell/apollo_code/apollo-master/scripts/build.sh

apollo源码部署_架构模块_02

7、复制构建文件到自定目录




8、解压文件到指定目录




9、修改portal、configservice、adminservice配置文件(本次只用了pro和dev环境)




10、启动服务(启动顺序:configservice > adminservice > poral)


apollo源码部署_服务列表_03


11、登录网站查看(apollo登录账号:apollo,密码:admin)


apollo源码部署_github_04

 

 


 

 

 

###