Spring cloud之統一配置中心

2021-09-24 11:34:15 字數 1917 閱讀 1415

對於傳統ssh/ssi的單體應用來說,使用配置檔案來管理所有的配置沒有問題。如果使用spring boot來建立單體應用,那麼可以有多個配置檔案,使用profile來決定使用那個配置檔案。但是在微服務架構中,成千上萬的微服務配置檔案如果放在不同的服務中,那麼難以管理,同時需要新增配置的時候也麻煩。基於這個問題,spring cloud提供了統一配置中心來管理所有的配置檔案,並且可以隨意切換配置檔案以及配置檔案更新後服務可以獲取到最新的配置資訊。

spring cloud config為分布式系統提供了服務端和客戶端支援,包含了config server和config client兩部分。

config server用於管理配置中心的所有配置,並且可以獲取到配置資訊。預設使用git,也可以使用svn等。本案例使用碼雲作為配置管理中心。

config client是和config server互動,獲取配置資訊的。只需要開啟註解就可以和config server互動。

檔案的內容是from=***,具體的dev/prod等不同檔案的值不一樣,主要是區分是否讀取到了不同檔案的配置資訊。

org.springframework.cloud

spring-cloud-config-server

server:

port: 7000

# master

spring:

name: microservice-config-server

cloud:

config:

server:

git:

uri:

search-paths: config-repo

username: 賬號

password: 密碼

啟動類只需要新增@enableconfigserver註解即可。就這樣乙個配置中心就完成了。我們的服務只需要和這個config server互動就可以獲取到碼雲/git/svn等的配置檔案內容。

配置檔案屬性說明:

spring.cloud.config.profile屬性是定義使用那個配置檔案的。

spring.cloud.config.label屬性是定義使用那個分支,因為我們提交內容到碼雲/git/svn是可以建立多個分支,所以需要配置。

spring.cloud.config.uri屬性是剛才的config server的訪問位址。

這樣定義好了就可以直接使用配置檔案的內容了。下面我簡單展示一下使用。我們定義乙個controller來返回配置檔案的資訊:

@restcontroller

@refreshscope

public class propertiescontroller ")

private string from;

public string from()

}

from的值就是從配置中心獲取的。使用瀏覽器返回就可以看到具體的值了。

springcloud統一異常類和路由配置

統一異常處理類 controlleradvice 宣告該類是乙個增強類 public class baseexceptionhandler spring name sysgateway cloud gateway globalcors cors configurations 匹配所以請求 allow...

SpringCloud統一配置中心

服務端步驟 1 引用依賴 org.springframework.cloud spring cloud config server 2 啟動類新增註解 enableconfigserver3 修改配置檔案 server port 8091 spring name config server clou...

SpringCloud統一配置中心

目錄config client原專案配置檔案 環境要求 i.實現啟動專案,拉取配置 ii.實現手動post請求,重新整理配置 iii.實現webhooks自動重新整理 org.springframework.cloud spring cloud config server org.springfra...