1. 程式人生 > 其它 >Spring Cloud之統一配置中心Config配置手工重新整理

Spring Cloud之統一配置中心Config配置手工重新整理

  實際上,配置檔案也是隨著應用場景變化的,如果服務已經啟動並在使用過程中時需要修改其中某些配置,微服務可以直接識別並使用麼?下面以Spring Cloud之統一配置中心Config初體驗 - 池塘裡洗澡的鴨子 - 部落格園 (cnblogs.com)中案例繼續實踐配置手工重新整理。

  修改配置productservice.properties中foo的值,如下:

        

   輸入http://localhost:2200/config/foo並訪問:

        

   訪問結果還是未修改之前的值,說明修改後的值並未被微服務識別。那config server端識別了這個更改麼?輸入http://localhost:8888/productservice/default並訪問:

        

  可見實際上倉庫配置檔案修改後,config server端獲取了最新的配置資訊但是config client卻不是立即識別——因為client讀取的是快取資訊。

  那client端一定要重啟服務才能獲取最新配置麼?當然不是,只需要⼿動的做⼀些其他的操作(訪問⼀個地址/refresh)重新整理,之後再訪問即可——客戶端使
post去觸發refresh,獲取最新資料。操作如下:

  1Client客戶端新增依賴spring-boot-starter-actuator

    對於spring-boot-starter-actuator在微服務健康監控之Spring Actuator初識 - 池塘裡洗澡的鴨子 - 部落格園 (cnblogs.com)

中進行了簡單的應用介紹,此處不再贅述。
  2Client客戶端bootstrap.yml中新增配置(暴露通訊端點)

        management.endpoints.web.exposure.include=refresh(也可以使用="*"暴露所有埠)

  3Client客戶端使⽤到配置資訊的類上新增@RefreshScope

        

  4)⼿動向Client客戶端發起POST請求, http://localhost:2200/actuator/refresh,重新整理配置資訊