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