為了統一管理微服務配置檔案,實作動态化重新整理配置檔案,常見的兩種方式為阿波羅、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