服務端步驟:
1、引用依賴
org.springframework.cloud
spring-cloud-config-server
2、啟動類新增註解
@enableconfigserver
3、修改配置檔案
server:
port: 8091
spring:
name: config-server
cloud:
config:
server:
git:
uri:
# 公共倉庫可不填
客戶端步驟:
1、同樣引入依賴
org.springframework.cloud
spring-cloud-config-client
2、不需要新增註解,只需要修改配置檔案
啟動後可以訪問http://localhost:8091/config-test.yml 檢視配置檔案
訪問的url匹配規則
這裡最大的缺點是:如果配置中心也就是git倉庫中檔案修改,伺服器端和客戶端需要重新啟動才能生效,不方便
伺服器端步驟:
1、在之前的基礎上新增依賴
org.springframework.cloud
spring-cloud-starter-bus-amqp
1.3.4.release
2、配置檔案中新增訊息佇列的配置,這裡我使用的是rabbitmq,同時暴露bus/refresh重新整理介面
rabbitmq:
host: 192.168.121.131
port: 5672
username: guest
password: guest
management:
endpoints:
web:
exposure:
include: bus-refresh
客戶端配置:
1、跟伺服器端一樣新增同樣的依賴
2、在配置檔案中加入訊息佇列的配置同上,這裡就不需要暴露重新整理介面了
修改配置時,需要先執行refresh方法:http://localhost:8091/bus/refresh get請求,post請求的在後面
命令列這裡git倉庫修改動態重新整理利用到其提供的webhooks功能,使用monitor方式:
先在服務端新增依賴
org.springframework.cloud
spring-cloud-config-monitor
然後進行配置,這裡需要提供外網,我這裡用的是內網對映工具,網上有很多免費的自行搜尋
這時你修改倉庫裡的配置檔案,在伺服器端會自動重新整理,但這裡有乙個坑的是,伺服器端重新整理可以,但客戶端重新整理死活不行,目測springcloud的版本有點問題,我這裡在啟動類自定義乙個post介面來解決
然後webhooks那裡用這個介面來替換
還需要注意的是:
在客戶端如果需要注入從配置中心獲取的配置,這裡需要在使用的類前新增註解
@refreshscope
完整**
@restcontroller
@refreshscope
public class indexcontroller ")
private string env;
public string getenv()}
SpringCloud統一配置中心
目錄config client原專案配置檔案 環境要求 i.實現啟動專案,拉取配置 ii.實現手動post請求,重新整理配置 iii.實現webhooks自動重新整理 org.springframework.cloud spring cloud config server org.springfra...
SpringCloud 七 統一配置中心
目錄 一.統一配置中心 1.建立github配置中心 2.將配置中心檔案引入專案中去 3.springcloud bus自動重新整理配置 新建專案config,加入spring cloud config和eureka client依賴。在啟動類上加入 enableconfigserver 在配置檔案...
Spring cloud之統一配置中心
對於傳統ssh ssi的單體應用來說,使用配置檔案來管理所有的配置沒有問題。如果使用spring boot來建立單體應用,那麼可以有多個配置檔案,使用profile來決定使用那個配置檔案。但是在微服務架構中,成千上萬的微服務配置檔案如果放在不同的服務中,那麼難以管理,同時需要新增配置的時候也麻煩。基...