前言:微服務意味著要將單體應用中的業務拆分成一個個子服務,每個服務的粒度相對較小,因此系統中會出現大量的服務,但由于每個服務都需要必要的配置信息才能運行,所以—套集中式的、動態的配置管理設施是必不可少的,為此SpringCloud Config就是一套集中式管理的技術解決方案。
1、什么是SpringCloud Config
SpringCloud Config為微服務架構中的微服務提供集中化的外部配置支持,配置服務器為各個不同微服務應用的所有環境提供了一個中心化的外部配置。
官方文檔地址:
https://cloud.spring.io/spring-cloud-static/spring-cloud-config/2.2.1.RELEASE/reference/html/
2、SpringCloud Config的組成
SpringCloud Config分為服務端和客戶端兩部分:
(1)服務端又被稱為分布式配置中心,它是一個獨立的微服務應用,用來連接配置服務器并為客戶端提供獲取配置信息,加密/解密信息等訪問接口;
(2)客戶端則是通過指定的配置中心來管理應用資源,以及與業務相關的配置內容,并在啟動的時候從配置中心獲取和加載配置信息,配置服務器默認采用git來存儲配置信息,這樣就有助于對環境配置進行版本管理,并且可以通過git客戶端工具來方便的管理和訪問配置內容
3、SpringCloud Config的作用
(1)集中管理配置文件,把公用的配置提取出來,讓微服務都讀取一份公用的配置文件,從而避免各個微服務的配置膨脹
(2)不同環境不同配置,動態化的配置更新,分環境部署比如dev/test/prod/beta/release
(3)運行期間動態調整配置,不再需要在每個服務部署的機器上編寫配置文件,服務會向配置中心統一拉取配置自己的信息
(4)當配置發生變動時,服務不需要重啟即可感知到配置的變化并應用新的配置
(5)將配置信息以REST接口的形式暴露,用post、curl訪問