Apollo官方网站非常详细,以下只是本人学习过程的整理
一、概念
Apollo(阿波罗)是一款可靠的分布式配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
Apollo支持4个维度管理Key-Value格式的配置:
- application (应用)
- environment (环境)
- cluster (集群)
- namespace (命名空间)
二、特点
统一管理不同环境、不同集群的配置
配置修改实时生效(热发布)
所有的配置发布都有版本概念,从而可以方便的支持配置的回滚。
灰度发布
权限管理、发布审核、操作审计
客户端配置信息监控
提供Java和.Net原生客户端
提供开放平台API
部署简单
三、Demo部署
使用MySQL作为存储
A、JAVA
安装Java 1.8+
1、在线下载JDK
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
2、赋权
chmod +x jdk-8u131-linux-x64.rpm
3、安装
rpm -ivh jdk-8u131-linux-x64.rpm
默认安装路径为 /usr/java/jdk1.8.0_131
4、编辑环境变量
vim /etc/profile
内容为
export JAVA_HOME=/usr/java/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
5、配置生效
source /etc/profile
6、查看是否安装成功
java –version
B、Mysql
此处不做步骤,相应数据也会存储到数据库。
C、Apollo
1、下载安装包
将安装包解压后,拷贝至/opt/apollo目录(目录自建)
2、创建数据库
https://github.com/apolloconfig/apollo-build-scripts/blob/master/sql/apolloportaldb.sql
https://github.com/apolloconfig/apollo-build-scripts/blob/master/sql/apolloconfigdb.sql
将脚本拉取下来执行
3、更改数据库配置
Apollo服务端需要知道如何连接到你前面创建的数据库,所以需要编辑demo.sh,修改ApolloPortalDB和ApolloConfigDB相关的数据库连接串信息。
注意:填入的用户需要具备对ApolloPortalDB和ApolloConfigDB数据的读写权限。
4、启动
1)、确保端口不被占用
lsof -i:8080
2)、执行脚本
./demo.sh start
当看到如下输出后,就说明启动成功了!
四、.Net Core使用Apollo
1、添加配置
创建应用,命名空间等
添加配置
发布
2、具体使用
添加Nuget包
添加配置文件
修改Program
读取配置