apollo(阿波羅)是攜程框架部門研發的分布式配置中心,能夠集中化管理應用不同環境、不同集群的配置,配置修改後能夠實時推送到應用端,並且具備規範的許可權、流程治理等特性,適用於微服務配置管理場景。
apollo主要專案如下:
apollo-configservice:提供配置獲取介面,提供配置更新推送介面,介面服務物件為apollo客戶端。
apollo-adminservice:提供配置管理介面,提供配置修改、發布等介面,介面服務物件為portal,以及eureka。
apollo-portal:提供web介面供使用者管理配置。
apollo-client:apollo提供的客戶端程式,為應用提供配置獲取、實時更新等功能。
自定義乙個apollo部署環境也很簡單,比如我們加入乙個sit環境,我們需要進行如下操作:
1. 修改apollo-core專案,com.ctrip.framework.apollo.core.enums.env,在其中加入sit列舉:
public enum env
2.修改apollo-core專案,com.ctrip.framework.apollo.core.enums.envutils,在其中加入sit列舉的轉換邏輯:
public final class envutils switch (envname.trim().touppercase()) }}
3.修改apollo-core專案,com.ctrip.framework.apollo.core.internals.legacymetaserverprovider類,增加讀取sit環境的meta server位址邏輯:
public class legacymetaserverprovider implements metaserverprovider private void initialize() ................}
4. 修改log日誌檔案生成路徑:
修改apollo-adminservice專案下/script/startup.sh,日誌路徑替換為:log_dir=/usr/local/nlp/logs/apollo-adminservice/100003172。修改apollo-configservice專案下/script/startup.sh,日誌路徑替換為:log_dir=/usr/local/nlp/logs/apollo-configservice/100003171。修改apollo-portal專案下/script/startup.sh,日誌路徑替換為:log_dir=/usr/local/nlp/logs/apollo-portal/100003173。
經過如上四步我們完成了sit環境的新增。
由於我們存在dev,uat,sit,pro四套環境,apollo-configservice,apollo-adminservice專案需要切換四次環境打包。apollo-portal專案只需打包一次。
#dev 環境mvn clean package -dskiptests -pl apollo-configservice,apollo-adminservice -am -dapollo_profile=github -dspring_datasource_url=jdbc:mysql: -dspring_datasource_username=wxt_apollo -dspring_datasource_password=***x#uat環境mvn clean package -dskiptests -pl apollo-configservice,apollo-adminservice -am -dapollo_profile=github -dspring_datasource_url=jdbc:mysql: -dspring_datasource_username=wxt_apollo -dspring_datasource_password=***x#sit環境mvn clean package -dskiptests -pl apollo-configservice,apollo-adminservice -am -dapollo_profile=github -dspring_datasource_url=jdbc:mysql: -dspring_datasource_username=wxt_apollo -dspring_datasource_password=***x#pro環境mvn clean package -dskiptests -pl apollo-configservice,apollo-adminservice -am -dapollo_profile=github -dspring_datasource_url=jdbc:mysql: -dspring_datasource_username=wxt_apollo -dspring_datasource_password=***#portalmvn clean package -dskiptests -pl apollo-portal -am -dapollo_profile=github,auth -dspring_datasource_url=jdbc:mysql: -dspring_datasource_username=yrz_apollo -dspring_datasource_password=***x -ddev_meta= -dsit_meta= -duat_meta= -dpro_meta=
unzip apollo-adminservice-1.4.0-github.zip -d apollo-adminservice-1.4.0-githubunzip apollo-configservice-1.4.0-github.zip -d apollo-configservice-1.4.0-githubunzip apollo-portal-1.4.0-github.zip -d apollo-portal-1.4.0-github
在每乙個工程的解壓包中,都有乙個 scripts 資料夾,這裡面是 apollo 工程的啟動指令碼。三個工程分別先後啟動:apollo-configservice、apollo-adminservice、apollo-portal,就是分別執行這三個工程下面的 /scripts/startup.sh 指令碼即可,關閉執行的是
apollo meta由核心服務統一進行了封裝,各服務只需在pom檔案引入microservice-apollo服務即可。
1.導包
com.wxt microservice-apollo
2.新增配置檔案新增bootstrap.yml,引入apollo相關配置
apollo.cachedir 為本地環境配置路徑。
apollo.bootstrap.namespaces 獲取遠端配置,多個時逗號分隔。
3.修改啟動項
修改啟動項新增如下註解:
Apollo配置中心多套測試環境搭建
隨著專案的迭代速度越來越快,同時會存在多個分支並行開發聯調。有的依賴以及資料只有測試環境有,因此需要在測試環境聯調開發,但又不影響現有分支 的測試。基於此,可以通過apollo配置來解決環境單一的問題。說明 對於有apollo配置的應用,需在apollo新增測試集群配置,對應的配置集群名稱應與sta...
Apollo配置中心學習
為什麼說到apollo,一方面是入職新公司採用這一技術棧,另一方面是以前參與的專案是採用配置檔案放在固定目錄,不同環境修改固定檔案配置即可.但是這樣存在乙個弊端,修改配置引數 需要重啟業務服務,這樣對於業務量較小的團隊來講可以接受,但是對於像現在業務量較大的診所業務相比,一天都處在業務高峰期,只有夜...
Apollo配置中心搭建手冊
apollo部署架構圖 軟體依賴 mysql5.6以上資料庫,jdk1.8 2.執行命令 解壓安裝包 uizip apollo.zip 3.匯入資料庫 mysql u使用者 p密碼 mysql u使用者 p密碼 4.修改apollo埠 4.1 configservice埠設定 vim startup...