攜程apollo配置中心部署與應用歷程


本文只講述記錄公司apollo的部署和應用,前期apollo架構原理請自行查閱不再贅述

https://blog.csdn.net/u014225733/article/details/102694884

https://blog.csdn.net/xp_zyl/article/details/82111702?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

 

1、工程下載及編譯

apollo代碼官方網址:https://github.com/ctripcorp/apollo 或國內鏡像:https://gitee.com/nobodyiam/apollo

推薦下載release下的三個zip包部署code=》tags

 

 

 a.config=》application-github.properties下是數據庫連接配置

 b.script下是啟動和停的腳本,單服務器的關系,這里要改下startup.sh內配置的端口

 c.protal下config=》apollo-env.properties 配置多環境的configservice地址

 d.啟動的時候出現了日志文件沒有權限的問題導致啟動失敗,賦權即可。/opt/logs/目錄

 e.后續升級可以通過git切換分支打包替換jar包即可(在根目錄下執行mvn clean package -pl apollo-assembly -am -DskipTests=true)

2、部署

由於服務器緊張所以設計了單服務器單數據庫多實例的方式(數據庫腳本不再贅述)

 

ps: 注意mysql版本(由於測試數據庫版本太低用了公司禪道的數據庫=。=禪道默認數據庫開啟遠程連接搞了半天)

ps2:因為同一個服務器上部署的關系,shutdown.sh需要改下,可以偷懶直接kill掉如果要停服務

 

 

3、應用

client端一些注入和使用基本可以查閱到。簡單強調下

a.apollo的配置是優先於application.yml的properties的可查閱啟動順序。

b.一些需要裝載的如日志級別需要增加監聽來重置,因為配置是實時改掉了但是裝載是不會自動裝載的

c.springcloud引入logback的日志組件必須增加bootstrap.yml這塊如何遷入apollo待解決=。=

d.多環境的切換有兩種方式參考https://blog.csdn.net/a807719447/article/details/91949659

  第一種apollo-env.properties文件模式即 先說明我有幾種環境然后指定哪種環境

  第二種applicaition.properties直接說明我的metaserver地址是多少與spring.profiles.active一樣

  建議使用第二種,且優先級也是startup.sh>jar包目錄下的applicaition.properties>jar包內的applicaition.properties

敲完收工~~~

 

4、增

a.@ConfigurationProperties注入模式無法自動更新需要配合使用EnvironmentChangeEvent或@RefreshScope

b.日志的問題https://www.jianshu.com/p/b2a6d487be3a1.3.0client版本仍然無法解決不知道什么原因待排查

手動加載的方式可解決。這樣我們的配置文件就變得更加簡潔將各個環境配置都遷入apollo,不足的是一些需要提前加載的需要手動加載

最后我們發現在服務器上不方便對app.properties做修改啟動,於是重新引入apollo-env.properties單獨對meta地址做變更
啟動時用-Denv來指定切換環境,需要注意此時的spring.profiles.active只用來作為logback的打印策略。

 

 

 2020-10-10 續上client1.3.0的版本logback一直無法遷移apollo(手動加載變相遷移)

不得不說實踐出真章。

 

 至此所有配置全部遷移apollo配置中心。

 


免責聲明!

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



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