分布式配置中心阿波羅的搭建與客戶端的應用


為了統一管理微服務配置文件,實現動態化刷新配置文件,常見的兩種方式為阿波羅、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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM