springcloud-配置中心
1.前言
微服務以為者要將單體應用中的業務才分成一個個的子服務,每個服務的粒度相對較小, 因此係統中會出現大量的服務。由於每個服務都需要必要的配置資訊才能執行,所以套集中式的、動態的配置管理設施是必不可少的。
2.SpringCloud Config 講解
SpringCloud Config 為微服務架構中微服務提供了集中化的外部配置支援,配置伺服器為各個不同微服務應用的的所有環境提供了一箇中心化的外部配置。Spring Cloud 分為服務端和客戶端兩部分:1.服務端也稱為分散式配置中心,它是一個獨立的微服務應用, 用來連線 配置伺服器併為客戶端提供獲取配置資訊,加密/ 解密資訊等訪問介面。 2.客戶端則是通過制定的配置中心來管理應用資源,以及與業務相關的配置內容,並在啟動的時候從配置中心獲取好載入配置資訊配置伺服器預設採用 git 來儲存配置資訊,這樣就有助於緩解配置驚醒 版本管理,並且可以通過 git 客戶端工具來方便管理和訪問配置內容。
3.實踐,此次是將存有資料庫資訊的yml檔案放在github上,實現遠端資料來源管理
3.1github 建立倉庫,放入客戶端關於資料來源資訊的yml檔案,下圖是git的本地倉庫資料,以及yml裡面的資料,到時我們將會通過微服務配置中心獲取到git上一樣的資料
3.2 服務端
3.2 .1 主要依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>
3.2.2 啟動類新增主要註解
3.2.3 服務端yml設定
3.3.客戶端
3.3.1 客戶端依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency>
3.3.2 新建bootstrap.yml,不是application.yml(注意),主要內容如下,其中資料來源不需要配置,我們讀取git上面的
3.3.2啟動類註解
3.4 啟動流程
1.先啟動註冊中心 2.啟動配置中心-服務端 3. 啟動需要配置中心資料的客戶端
啟動配置中心服務端經常報錯:這是超時引起的,國內啟動git超級慢經常超時,個人建議現在瀏覽器開啟github,再啟動這個服務概率會大很多
2.訪問服務端,能拿到git上的資訊
3.連線客戶端,如果沒有報錯:找不帶驅動什麼的就說明客戶端能獲取服務端的資料即git上的資料
思考:git上配置改了,怎麼重新整理呢?微服務怎麼主動更新配置資料呢?手動?自動?