分布式配置中心 攜程(apollo)


1.傳統配置文件與分布式配置文件區別

傳統配置文件:如果修改了配置文件,需要重新打包發布,重新發布服務,而且每個環境的變更配置文件,比較繁瑣。

分布式配置文件:將配置文件注冊到配置中心上去,可以使用分布式配置中心實時更新配置文件,統一管理配置文件,不需要重新打包發布。

2.常用的分布式配置中心框架有哪些

disconf(依賴於Zookeeper)、Zookeeper(通過Watch事件監聽實現)、diamond(阿里產品)、攜程(apollo)、Redis、xxl-config。

3.攜程apollo介紹

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

服務端基於Spring Boot和Spring Cloud開發,打包后可以直接運行,不需要額外安裝Tomcat等應用容器。

Java客戶端不依賴任何框架,能夠運行於所有Java運行時環境,同時對Spring/Spring Boot環境也有較好的支持。

.Net客戶端不依賴任何框架,能夠運行於所有.Net運行時環境。

官網地址:https://github.com/ctripcorp/apollo/

4.apollo分布式配置中心 原理

 4.1項目啟動的時候連接 apollo配置中心平台。

 4.2項目進行掃包獲取當前包下的類。

 4.3如果屬性上加上了@Value("${name:sun}") 注解,使用key 在遠程服務器上獲取對應的value信息。@Value("${name:sun}") 意思 如果在apollo上面沒有找到name對應的value,則用sun 表示該value值。

 4.4 獲取對應的value值,然后緩存在本地的jvm中。

 4.5 流程圖

描述:當客戶端啟動的時候會與apollo分布式配置中心管理平台建立連接進行監聽、並讀取服務器上配置文件信息並把配置文件信息緩存到本地的jvm中,當配置文件改變的時候,apollo分布式配置中心會把修改過的配置文件推送給客戶端,然后客戶端會刷新本地的jvm緩存。

 5.springboot集成apollo需要注意事項

項目啟動之前,需要在本地新建文件

(Mac/Linux)環境:修改/opt/settings/server.properties

(Windows)環境:C:\opt\settings\server.properties文件,設置env為DEV:

env=DEV

application.properties 不同環境 文件配置如下:

apollo-env.properties

local.meta=http://192.168.212.162:8080

dev.meta=http://192.168.212.162:8080

fat.meta=${fat_meta}

uat.meta=${uat_meta}

lpt.meta=${lpt_meta}

pro.meta=${pro_meta}

 

META-INF文件夾創建app.properties  指定appid

appid=應用id,應用id指的是apollo頁面上面對應的appid。

 

如果apollo配置在外網,需要在 demo.sh 文件中 配置一下 -Deureka.instance.ip-address=外網ip

 

 

數據庫 配置頁面:https://www.cnblogs.com/ming-blogs/p/10826723.html


免責聲明!

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



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