為了統一管理微服務配置文件,實現動態化刷新配置文件,常見的兩種方式為阿波羅、SpringCloudConfig,關於兩者主要區別是:
阿波羅配置文件存放在數據庫中,SpringCloudConfig存放在Git里面
一、搭建過程
本篇主要演示阿波羅的搭建方式,詳細步驟如下:
1、下載 aploll 配置中心
下載地址:https://github.com/nobodyiam/apollo-build-scripts
下載后首先本地解壓一份,獲取 sql 文件夾中的兩個 sql 文件,連接服務器地址,運行創建這兩個數據庫。
2、上傳至服務器
將 apollo-build-scripts-master.zip 文件上傳到服務器中,我上傳的是 /use/local 目錄,上傳后解壓該 zip 文件。

3、修改demo.sh文件
編輯 demo.sh 文件,修改 ApolloPortalDB 和 ApolloConfigDB 相關的數據庫連接串信息。
#apollo config db info
apollo_config_db_url=jdbc:mysql://數據庫:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=用戶名
apollo_config_db_password=密碼(如果沒有密碼,留空即可)
# apollo portal db info
apollo_portal_db_url=jdbc:mysql://數據庫:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=用戶名
apollo_portal_db_password=密碼(如果沒有密碼,留空即可)
然后導入 sql 文件下的兩個 sql 文件,也就是創建兩個數據庫,ApolloPortalDB 和 ApolloConfigDB,至於兩個庫的作用請自行查看官方文檔說明吧。
修改 meta server 為部署服務器地址:
# meta server url
config_server_url=http://192.168.10.130:8080
admin_server_url=http://192.168.10.130:8090
eureka_service_url=$config_server_url/eureka/
portal_url=http://192.168.10.130:8070
根據自己情況填寫。
4、啟動阿波羅
./demo.sh start

如上圖所示會持續1分鍾左右,啟動成功后如下圖所示:

訪問地址:

默認賬戶密碼:apollo admin

創建一個項目:

創建配置:

填寫 key、value 提交即可:

二、客戶端集成配置文件
1、將本地配置存入到阿波羅平台中。
將properties配置文件格式的內容粘貼至 文本中。
轉換工具:http://www.toyaml.com/index.html

2、引入Maven依賴
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-core</artifactId>
<version>1.0.0</version>
</dependency>
3、創建 application.properties
app.id=mayikt644064779
apollo.meta=http://192.168.212.236:8080
4、項目啟動開啟阿波羅配置文件
@EnableApolloConfig
運行后,可以在 eureka 中看到注冊的客戶端:

5、本地緩存
項目啟動后會在本地緩存一份,詳細可見
C:\opt\settings\server.properties(Windows)
我創建了一個java相關的公眾號,用來記錄自己的學習之路,感興趣的小伙伴可以關注一下微信公眾號哈:niceyoo
