Apollo 简介
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
apollo的构成 = configService(内置eureka) + adminService + portal
架构
configService + adminService 用一个数据库保存配置信息,portal自用一个数据库保存权限和系统参数等信息。
configService + adminService是一套,如果部署多个环境,可以有多套,而portal只需要一套就行,因为portal里面有配置不同环境的eureka地址,即configService的地址,不同环境最终都能呈现在protal UI那里。
前提准备
java环境:jdk1.8+
数据库: mysql 5.6.5+
搭建
如果只是体验,可以github上之间clone个quick-start版本下来体验,apollo-build-scripts,并且按照官网进行修改配置,这里不再详细展开,现只讲日常开发的常规搭建,这里讲用2个机器(A,B)来搭建。单机同理。
下载代码文件
这里有2种方法:
- 直接到github里clone整个项目,再进行简单配置,执行脚本即可。https://github.com/apolloconfig/apollo,选好版本,clone下来。
2 . https://github.com/apolloconfig/apollo/releases 直接下载三个模块的zip文件。
搭建数据库环境
如果是方式一:直接在scripts 文件夹,到sql文件夹拿到sql执行。
如果方式二: https://github.com/apolloconfig/apollo/tree/master/scripts/sql,这里拿到sql。
A机器都执行这2个sql,表示一套configService + adminService,和单套的portal都部署在这。
B机器只执行apolloconfigdb.sql。
部署
方式一: 找到scripts文件夹下的build.sh或者bulid.bat,修改以下地方
apollo config db info #config、admin所在数据库地址 ,A环境
apollo portal db info # protal所在数据库地址,A环境
meta server url # 各个环境的地址
配置好后,执行脚本打包,打包出来有jar、和github的zip包。
2种方法的启动一致:
A环境解压zip包,执行script中的启动脚本即可,上传一份config和admin的zip到B机器,B机器解压,修改config里面的github.properties的数据库地址,执行启动基本即可。
如果需要修改端口,打开config和admin的build.sh中改变端口,之后改变portal那里的meta server url即可。
A、B代表2个meta server,他们各自都有eureka页面 ,如同springcloud那样打开即可。
查看portal
DEV 和 FAT 就是在portal配置文件配置的meta_server_url
网友评论