微服務配置中心 三

2021-09-25 09:12:51 字數 4161 閱讀 8340

按我的理解,當專案越來越大時,做乙個微服務配置中心統一管理各個服務的配置是相當重要的,這裡我演示的是將微服務配置中心與服務中心放在一起的

info:

this is registry config-

1

web:

info:

this is registry config-

2

在專案registry 中新增依賴

org.springframework.cloud<

/groupid>

spring-cloud-config-server<

/artifactid>

<

/dependency>

在啟動類中加註解

@enableeurekaserver // 啟用eureka服務

@enableconfigserver //啟動配置中心

public

class

:[email protected]

.0.112

:8761

/config

profile: pro

# discovery:

# enabled:

true #發現服務

# service-id: config-server #服務名

user:

name: admin

password: admin_1ser

.nam

e::us

er.n

ame:

@192.168.0.112:8761/config中因為註冊中心中有簡單驗證,這裡user的值也需加上,在registry中因為新增prefix: /config對映路徑,這裡也需加上,主要區別eureka連線,我這裡用的uri連線,也可以使用discovery配置

/**

* 讀取配置中心的配置測試控制器

*/@restcontroller

public

class

inforesource

@restcontroller

public

class

webinforesource")

private string webinfo;

("webinfo"

)public string info()

}

啟動

得到 「this is registry config-2」

得到 「this is registry config-1」

能正常得到則配置成功,但是這種會有一些限制,當配置更新時,git新提交,producer與consumer服務拿不到最新配置,需要重啟配置中心,所以需要一種讓她重新整理配置的方式,這裡我是用的的是rabbitmq.

在registry中新增依賴

org.springframework.cloud<

/groupid>

spring-cloud-starter-bus-amqp<

/artifactid>

<

/dependency>

org.springframework.boot<

/groupid>

spring-boot-starter-actuator<

/artifactid>

<

/dependency>

bootstrap.yml

spring:

#應用名稱 (服務註冊中心)

name: config-server

#雲服務配置

cloud:

config:

server:

prefix:

/config #新增對映路徑client註冊路徑 192.168

.0.112

:8761

/config

#git中心配置(這裡我將配置檔案儲存在碼雲上)

git:

#配置檔案所在的服務位址

#配置檔案所在的檔案路徑

search-paths: service-registry-config

#公開的專案不需要設定使用者名稱和密碼

username:

password:

rabbitmq:

host:

192.168

.0.61

port:

5672

username: root

password:

123456

#開啟actuator/bus-refresh 介面,使用post請求,重新整理配置中心拉取最新配置,

#根據springboot版本,這裡可能變為management.security.enable:

false

,需要版本支援,路徑也會不一樣 /bus/refresh

management:

endpoints:

web:

exposure:

include: bus-refresh

user:

name: admin

password: admin_1

啟動registry

org.springframework.cloud<

/groupid>

spring-cloud-starter-bus-amqp<

/artifactid>

<

/dependency>

org.springframework.boot<

/groupid>

spring-boot-starter-actuator<

/artifactid>

<

/dependency>

在bootstrap.yml中新增rabbitmq配置

rabbitmq:

host:

192.168

.0.61

port:

5672

username: root

password:

123456

在配置介面類名上加註解@refreshscope

/**

* 讀取配置中心的配置測試控制器

*/@restcontroller

@refreshscope

public

class

inforesource

}

@restcontroller

@refreshscope

public

class

webinforesource")

private string webinfo;

("webinfo"

)public string info()

}

然後啟動

得到 「this is registry config-2」

得到 「this is registry config-1」

在碼雲上更改;

info:

this is registry config-

1, 你吃飯了嗎?

web:

info:

this is registry config-

2,還沒有,你呢?

提交,

得到 「this is registry config-2」

得到 「this is registry config-1」

這時是得不到最新配置的

傳送post請求

這裡對映路徑/config是不需要的

如果成功是沒有返回資料的,不會報錯

得到 「this is registry config-2,還沒有,你呢?」

Nacos 微服務配置中心介紹

三 nacos基礎 四 一些思考 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img zmcpjvtb 1585720730083 nacos是阿里開源的乙個微服務配置中心,其官方宣傳 乙個更易於構建雲原生應用的動態服務發現 配置管理和服務管理平台。目前是github的乙個明星專案,...

微服務化改造系列之三 配置中心

前情概要 微服務化改造系列之一 總覽 微服務化改造系列之二 服務註冊中心 隨著業務複雜度的上公升和技術架構的演變,對應用的配置方式也提出了越來越高的要求。乙個典型的演變過程往往是這樣的,起初所有配置跟源 一起放在 倉庫中 之後出於安全性的考慮,將配置檔案從 倉庫中分離出來,或者放在ci伺服器上通過打...

Spring Cloud 微服務之配置中心解決方案

關於配置中心這一篇博文,本來想分很多篇去介紹的,但是仔細想想,覺得太繁複而且囉嗦,所以還是寫一篇介紹其中的核心原理,並不做任何示例,如果想要檢視具體用法可以自行檢視官方文件或者度娘。因為配置中心太多了,不說其他的spring cloud就整合了好幾種框架作為配置中心比如 spring cloud c...