Spring Cloud Config 配置中心

2021-09-08 13:55:46 字數 2998 閱讀 1456

比如使用 *.yml 或者 *.properties

yml:

testconfig: testvalue
properties:

testconfig=testvalue
伺服器配置檔案:

呼叫config server url後返回的json資料:

紅框中為配置正確後解析樣子:

否則無法解析!

在分布式系統中,由於服務數量巨多,為了方便服務配置檔案統一管理,實時更新,所以需要分布式配置中心元件。在spring cloud中,有分布式配置中心元件spring cloud config ,它支援配置服務放在配置服務的記憶體中(即本地),也支援放在遠端git倉庫中。在spring cloud config 元件中,分兩個角色,一是config server,二是config client。

建立乙個spring-boot專案,取名為config-server,pom.xml中引入依賴:

org.springframework.cloud

spring-cloud-starter-config

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-actuator

org.springframework.cloud

spring-cloud-config-server

import org.springframework.cloud.config.server.enableconfigserver;

@enableconfigserver

public static void main(string args)

}

server.port=7010

# 配置git倉庫位址

spring.cloud.config.server.git.uri=

# 配置倉庫路徑

spring.cloud.config.server.git.search-paths=myconfigpath

# 配置倉庫的分支

spring.cloud.config.label=master

# 訪問git倉庫的使用者名稱

spring.cloud.config.server.git.username=***xoooo

# 訪問git倉庫的使用者密碼 如果git倉庫為公開倉庫,可以不填寫使用者名稱和密碼,如果是私有倉庫需要填寫

spring.cloud.config.server.git.password=***xoooo

遠端倉庫/ 中有個檔案config-client-dev.properties檔案中有乙個屬性:

myww=myww version 2
啟動程式:訪問http://localhost:7010/myww/dev

證明配置服務中心可以從遠端程式獲取配置資訊。

http請求位址和資源檔案對映如下:

重新建立乙個springboot專案,取名為config-client,其pom檔案引入依賴:

org.springframework.cloud

spring-cloud-starter-config

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-actuator

org.springframework.boot

spring-boot-starter-test

test

其配置檔案bootstrap.properties

# 和git裡的檔名對應

# 遠端倉庫的分支

spring.cloud.config.label=master

# dev 開發環境配置檔案 | test 測試環境 | pro 正式環境

# 和git裡的檔名對應

spring.cloud.config.profile=dev

# 指明配置服務中心的**

程式的入口類,寫乙個api介面「/hi」,返回從配置中心讀取的foo變數的值,**如下:

import org.springframework.beans.factory.annotation.value;

import org.springframework.web.bind.annotation.restcontroller;

@restcontroller

public static void main(string args)

@value("$") // git配置檔案裡的key

string myww;

public string hi()

}

myww version 2
這就說明,config-client從config-server獲取了foo的屬性,而config-server是從git倉庫讀取的,如圖:

SpringCloud config 配置中心

spring cloud config為服務端和客戶端提供了分布式系統的外部化配置支援。配置伺服器為各應用的所有環境提供了乙個中心化的外部配置。一般外部配置檔案存在github.com上。下面是config的 實現 新建配置中心模組 配置pom org.springframework.cloud s...

Spring Cloud Config配置中心

最簡單的配置中心,就是啟動乙個服務作為服務方,之後各個需要獲取配置的服務作為客戶端來這個服務方獲取配置。現在github中建立配置檔案,我這裡使用的是碼雲 新建乙個倉庫springcloudconfig,在倉庫根路徑下建立乙個資料夾config,目錄結構如下 配置檔案的內容大致如下,用於區分,略有不...

Spring Cloud Config配置中心

在分布式微服務體系中,服務的數量以及配置資訊日益增多,比如各種伺服器引數配置 各種資料庫訪問引數配置 各種環境下配置資訊的不同 配置資訊修改之後實時生效等等,傳統的配置檔案方式或者將配置資訊存放於資料庫中的方式已無法滿足開發人員對配置管理的要求,如 spring cloud config 是乙個解決...