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
讀取配置