Udemy 課程Microservices with Spring Cloud 31

讓limits-service來實際取得Confi Server上的環境設定數值

ZONGRU Li
5 min readJul 12, 2019

目前limits-service是取用自己的application.properties內的數值

接著要讓limits-service取Confi Server上的環境設定數值

第一件事是更改application.properties的名稱

目前改名為:bootstrap.properties

原本的內容:

刪除後面兩行並加上:

spring.cloud.config.uri=http://localhost:8088

為什麼改名:

可以讀一下內容

先啟動Config Server再啟動limit-service

會看到limit-service的console會去吃http://localhost:8088的default設定

其關聯是因為limits-service的bootstrap.properties內第一行

spring.application.name=limits-service

對應Config Server內的

先不管如何改取用dev或uat

進到http://localhost:8089/limits看到真的吃到設定值了!!雖然只是default的

程式執行看起來流程如下

spring-cloud-config-server(也就是Config Server)啟動後準備

接著啟動limits-service專案,啟動過程去跟Config Server要設定

Config Server接到上述要求,去跟Git拿設定來回覆

limits-service專案拿到設定值,之後啟動完成

接著我們希望limits-service改拿dev或uat的

改寫其bootstrap.properties

加上一行:

spring.profiles.active=dev

儲存後重新啟動limits-service

變成dev的設定檔的值了!!

此時可以試著直接改寫imits-service-dev.properties

由目前的

改為

重新進到網址:http://localhost:8089/limits

還是沒變!

因為改了還沒透過git commit!!

所以重做git commit

重新進到網址:http://localhost:8089/limits

還是沒變!

因為limits-service只在project啟動時才會去跟Config Server要設定

所以重啟limits-service專案

再次進到網址:http://localhost:8089/limits

變了!

目前發現不管最後設定有沒有commit,只要Config Server重啟就會吃到當下的設定!!!!!!講師也有發現這個local repo的行為模式see spring cloud課程67

另外服務專案觸發Config Server專案取得遠端git設定檔要透過

其中target/temp是指Config Server clone下來的設定檔儲放的位置

預設會跑到C槽個人路徑下的temp資料挾

在此希望同Config Server消失而消失

所以會放到自己專案內

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet