SpringCloud統一配置中心

2021-09-17 18:21:30 字數 2700 閱讀 9681

服務端步驟:

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來決定使用那個配置檔案。但是在微服務架構中,成千上萬的微服務配置檔案如果放在不同的服務中,那麼難以管理,同時需要新增配置的時候也麻煩。基...