本文只講述記錄公司apollo的部署和應用,前期apollo架構原理請自行查閱不再贅述
https://blog.csdn.net/u014225733/article/details/102694884
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注入模式無法自動更新需要配合
手動加載的方式可解決。這樣我們的配置文件就變得更加簡潔將各個環境配置都遷入apollo,不足的是一些需要提前加載的需要手動加載

最后我們發現在服務器上不方便對app.properties做修改啟動,於是重新引入apollo-env.properties單獨對meta地址做變更
啟動時用-Denv來指定切換環境,需要注意此時的spring.profiles.active只用來作為logback的打印策略。
2020-10-10 續上client1.3.0的版本logback一直無法遷移apollo(手動加載變相遷移)
不得不說實踐出真章。
至此所有配置全部遷移apollo配置中心。