玩轉apollo配置中心——通過jar包搭建環境


一、Apollo配置中心介紹

Apollo(阿波羅)是攜程框架部門研發的開源配置管理中心,能夠集中化管理應用不同環境、不同集群的配置,配置修改后能夠實時推送到應用端,並且具備規范的額權限、流程治理等特性。

Apollo支持的四個維度管理的配置:

  • application (應用)
  • environment (環境)
  • cluster (集群)
  • namespace (命名空間)

同時,Apollo基於開源模式開發,開源地址:https://github.com/ctripcorp/apollo

這里需要提一點的就是

 二、Apollo配置中心部署

1.環境准備

jdk8

mysql5.7

2.下載安裝包

前往github下載安裝包 https://codeload.github.com/nobodyiam/apollo-build-scripts/zip/refs/heads/master

這里下載的安裝包是已經編譯並打包好的安裝包,解壓后目錄結構如下

-client  Apollo客戶端示例(可忽略)

-images  靜態圖片資源(可忽略)

-portal  管理系統目錄

-service  核心功能目錄

-sql  初始化數據庫sql腳本目錄

-demo.sh  啟動腳本

3.配置中心部署

3.1.創建數據庫

將安裝包解壓后的sql目錄下的兩個sql腳本拿到mysql中直接執行,完成后就會發現mysql中多了兩個數據庫並且庫里也有部分數據表

 

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| apolloconfigdb |
| apolloportaldb |
+--------------------+

 

3.2.修改啟動腳本demo.sh

在編輯器中打開demo.sh啟動腳本,修改腳本最前面的兩個數據庫配置,將數據庫鏈接,帳號,密碼配置正確

# apollo config db info
apollo_config_db_url="jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai"
apollo_config_db_username=root
apollo_config_db_password=1234

# apollo portal db info
apollo_portal_db_url="jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai"
apollo_portal_db_username=root
apollo_portal_db_password=1234

3.3.打開控制台並運行啟動腳本 將Apollo配置中心啟動

配置中心啟動成功后進程將在后台運行所以控制台窗口會消失,不必擔心

# 啟動配置中心
demo.sh start

# 關閉配置中心
demo.sh stop

三、訪問Apollo配置中心

打開瀏覽器,輸入http://localhost:8070/回車即可進入Apollo管理頁面

默認登錄帳號為apollo 密碼為admin

進入后可以看到系統已經默認創建了一個示例項目(sampleApp)

您可以根據你的項目實際,創建新的配置項目,在新的配置項目下創建集群、namespace以及新增配置項

這里先稍微提一下,Apollo配置中心的四個配置維度以及服務端的三個服務

服務端三個服務

portal——項目配置管理系統,你訪問的8070端口就是訪問的這個服務,該服務包含了后台管理系統以及創建的項目信息,使用portal這個數據庫

configService——配置服務,向其他業務系統提供配置推拉更新的服務,業務系統和該服務建立連接來獲取項目配置,使用config這個數據庫

adminService——環境管理,負責指定環境的所有配置修改、發布、回滾、以及歷史記錄等等一系列的后台管理功能,使用config這個數據庫

配置的四個維度

application——項目,項目可以認為是一級維度,用來區分不同項目的配置

environment——環境,諸如dev、sit、uat等等的這類環境,Apollo的這個環境要支持的話稍微有些復雜,后面再做詳細交流,一個環境對應了一套配置服務,如果你要支持三個環境,那就要啟動2*3+1=7個Apollo服務

cluster——集群,攜程為了自己的某些實際情況加的一個維度,個人感覺對大部分項目都用不上。比如同一個項目,北京部署了2個,上海部署了2個,北京部署的訪問的oss為***beijing.com,上海部署的訪問的oss為***shanghai.com,這種情況就需要用到cluster,一般情況下我們都用默認,后面再做詳細交流

namespace——命名空間,這個比較好,比如一個項目的配置,包含了關系型數據庫信息、緩存數據庫信息、支付相關配置等等,為了避免所有的配置都在一個里面不便管理,就可以在配置中添加多個命名空間,關系型數據庫可以創建一個“datasource”命名空間,緩存數據庫可以創建“cache”,支付的配置可以創建“pay”,這樣項目在讀取配置的時候直接讀取這三個中的一個或多個配置,后面再做詳細交流

至此,Apollo配置中心單機部署已經完成

 

 

 


免責聲明!

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



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