前言
為什么要使用分布式配置中心
1.在微服務(wù)如果使用傳統(tǒng)方式管理配置文件,配置文件管理非常復(fù)雜民傻。
- 如果生產(chǎn)環(huán)境配置文件胰默,可能需要發(fā)生改變的時(shí)候,重新打開(kāi)war漓踢,重讀取配置信息在jvm內(nèi)存中
什么是分布式配置中心
-
在微服務(wù)當(dāng)中使用同一個(gè)服務(wù)器管理所有配置文件信息牵署,能夠?qū)崿F(xiàn)后臺(tái)可管理,當(dāng)服務(wù)器正在運(yùn)行的時(shí)候喧半,如果配置文件發(fā)生改變奴迅,可以實(shí)現(xiàn)不需要重啟服務(wù)器實(shí)時(shí)更改配置文件信息。
分布試配置中心框架
阿波羅 線(xiàn)程寫(xiě)分布式配置中心 有圖形界面可管理配置文件信息
SpringCloud Config 沒(méi)有后臺(tái)可管理分布配置中心挺据,配置文件信息存放在版本控制器里(git|svn)
在使用Zookeeper 實(shí)現(xiàn)分布式配置中心取具,持久節(jié)點(diǎn)+事件通知
熱部署 其實(shí)底層還是會(huì)重啟服務(wù)器 不適合于生產(chǎn)環(huán)境 只適合于本地開(kāi)發(fā)測(cè)試 `
SpringCloud Config 分布式配置中心原理
首先分析 分布試配置中心需要哪些組件
1.web管理系統(tǒng)~~~后臺(tái)可以使用圖形化界面管理配置文件 脖隶。SpringCloud Config沒(méi)有圖像化管理配置文件存放分布式配置文件服務(wù)器~~~使用版本控制器存放配置文件信息 使用git環(huán)境
2.ConfigServer緩存配置文件服務(wù)器(臨時(shí)緩存存放)~~~
3.ConfigClient讀取configService配置文件信息
搭建git環(huán)境的目的 :持久化存儲(chǔ)配置文件信息 采用碼云
git環(huán)境上文件夾以項(xiàng)目進(jìn)行區(qū)分
member_config 會(huì)員服務(wù)配置文件
order_config 訂單服務(wù)配置文件
2.公司項(xiàng)目中環(huán)境是如何區(qū)分
- dev 開(kāi)發(fā)環(huán)境
- sit 測(cè)試環(huán)境
- per 預(yù)發(fā)布環(huán)境
- prd 準(zhǔn)生產(chǎn)環(huán)境
- 演練兩個(gè)sit環(huán)境和pd環(huán)境
3.在git環(huán)境上如何存放配置文件
在git環(huán)境上創(chuàng)建配置文件命名規(guī)范
- 會(huì)員服務(wù)~~~ 服務(wù)器名稱(chēng)~~~.properties
2.服務(wù) 名稱(chēng) 環(huán)境.properties
3.member-dev.properties
1默認(rèn)情況下不能及時(shí)獲取實(shí)時(shí)變更的配置文件信息
2 SpringCloud 分布式配置中心 可以采用手動(dòng)刷新或者自動(dòng)刷新
手動(dòng)刷新 ~~~需要人工調(diào)用接口 讀取最新的配置文件(監(jiān)控中心)
自己刷新 ~~~ 消息總線(xiàn)進(jìn)行實(shí)時(shí)通知 ~~~springbus
手動(dòng)屬性和自己刷新都不需要重啟服務(wù)器
@RefreshScope 自動(dòng)刷新注解
在公司當(dāng)中,不建議使用自動(dòng)刷新功能者填,因?yàn)閷?duì)性能不是很好
建議大家每次在修改完配置文件之后,人工調(diào)用/actuator/refresh進(jìn)行刷新浩村。